Powershellbatch 混合沒有臨時檔案
這是 stackoverflow 的使用者 rojo提出的方法 ,它也可以處理命令列引數:
<# : batch portion
@echo off & setlocal
(for %%I in ("%~f0";%*) do @echo(%%~I) | ^
powershell -noprofile "$argv = $input | ?{$_}; iex (${%~f0} | out-string)"
goto :EOF
: end batch / begin powershell #>
"Result:"
$argv | %{ "`$argv[{0}]: $_" -f $i++ }
像這樣叫:
psbatch.bat arg1“這是 arg2”arg3
將產生:
Result:
$argv[0]: C:\Users\rojo\Desktop\test.bat
$argv[1]: arg1
$argv[2]: This is arg2
$argv[3]: arg3