Tôi có một test.bat batch file để bắt đầu một kịch bản PowerShell:Sử dụng dơi để bắt đầu Powershell kịch bản
@pushd "C:\myscripts"
powershell .\test.ps1 arg1 "arg2 with space" arg3
@popd
Kịch bản test.ps1 (nằm ở C: \ myscripts) là một trong rất đơn giản như:
# just print out the arguments
Write-Output ("args count: {0}" -f $args.length)
$args
Sau đó, tôi đã thử bắt đầu test.bat. Tôi should get 3 arguments passed để ps1 nhưng got các following result:
args count: 5 arg1 arg2 với space arg3
What Tôi expected trong script, args [0] should arg1 và args [1] nên là "arg2 với không gian" và args3 [2] là arg3. Tôi không thể hiểu tại sao kịch bản thực sự nhận được 5 đối số.
Làm cách nào để chuyển các tham số từ cmd hoặc lô tới quyền hạn như những gì tôi mong đợi? Như thế này:
args count: 3
arg1
arg2 with space
arg3
Họ không. Nhưng chúng có nghĩa là những thứ khác nhau cho 'cmd'. – Joey