플래그를 설정하고 스크립트 전체에서 데이터가 일치하는 것을 확인하여 PowerShell 스크립트 에서 변수 및 값을 출력하고 싶습니다 .
어떻게해야합니까?
예를 들어 다음 PHP 코드와 동등한 PowerShell은 무엇입니까?
echo "filesizecounter: " . $filesizecounter
답변
몇 가지 방법이 있습니다.
Write-Host
: 기능 / cmdlet 출력에 포함되지 않은 콘솔에 직접 작성하십시오. 전경색과 배경색을 설정할 수 있습니다.
Write-Debug
: $DebugPreference
계속 또는 중지로 설정 한 경우 콘솔에 직접 씁니다 .
Write-Verbose
: $VerbosePreference
계속 또는 중지로 설정 한 경우 콘솔에 직접 씁니다 .
후자는 Write-Debug
디버깅을 위한 추가 옵션 정보를 위한 것입니다 (이 경우에는 적합 할 것입니다).
추가 :에서 PSH2 (적어도) 스크립트를 사용하여 cmdlet를 자동으로 얻을 것이다 바인딩 -Verbose
및 -Debug
로컬 수 있도록 스위치 매개 변수 Write-Verbose
및 Write-Debug
컴파일 된 cmdlet 및 공급자가대로 (즉,이 환경 변수를 무시).
답변
Powershell에는에 대한 별칭 매핑 에코가 있습니다 Write-Output
.
echo "filesizecounter : $filesizecounter"
답변
PowerShell이 보간하지 않습니까?
PHP에서
echo "filesizecounter: " . $filesizecounter
다음과 같이 쓸 수도 있습니다 :
echo "filesizecounter: $filesizecounter"
PowerShell에서 다음과 같은 것이 필요에 맞아야합니다.
Write-Host "filesizecounter: $filesizecounter"
답변
Write-Host "filesizecounter : " $filesizecounter
답변
Powershell에서 에코하는 가장 쉬운 방법은 문자열 객체를 만들고 파이프 라인에서 출력하는 것입니다.
$filesizecounter = 8096
"filesizecounter : $filesizecounter"
물론 Write- * 메서드를 사용하지 않을 때는 약간의 유연성을 포기해야합니다.
답변
echo는 Write-Host 와 동일하지만 Write-Output의 별명 입니다.
그것은되지 PowerShell의 에코 및 쓰기 호스트 사이의 차이는 무엇입니까? .
echo는 쓰기 출력의 별명이며 성공 출력 스트림에 기록합니다. 이를 통해 파이프 라인을 통해 출력을 처리하거나 파일로 리디렉션 할 수 있습니다. Write-Host는 콘솔에 직접 쓰므로 더 이상 출력을 리디렉션 / 처리 할 수 없습니다.
답변
쓰기 호스트가 제대로 작동합니다.
$Filesize = (Get-Item $filepath).length;
Write-Host "FileSize= $filesize";