バッチファイルからPowershellに変数を渡してデータベースに投稿しようとしていますが、変数がスペースを含む文字列の場合を除き、Powershellは複数の変数に分割しています。Powershell変数を複数に分割する
param($customerCode, $orderNumber, [string]$CompanyName)
Write-Output $CompanyName
$CompanyName
は、PowerShellのが出力されますTest
Test Company
に等しくなければならないときは:ここ
PowerShell -NoProfile -ExecutionPolicy Bypass -file C:\TEMP\api.ps1 %CustomerCode% %OrderNumber% %CompanyName%
そして、私のPowerShellのコードは次のとおりです。
は、ここに私のバッチファイルのコードです。
私が間違っていることは何ですか?安全に次のように"..."
で囲み、コマンドライン引数として(コマンドラインまたはバッチファイルから)cmd.exe
から環境変数の参照を渡すために
引用符を試しましたか? – Squashman
このようにXMLのノードから変数を設定している場合は、どうすればよいですか? "for/f" tokens = 2delims = <> "%% i in( 'type * .xml^| find" CompanyName "')は" CompanyName = %% i "を設定します –
これは関係ない。実行可能ファイルに引数を渡すときは、引用符を使用します。私が一生使ったことのあるコンソールプログラムは、スペースを保護するために常に引用符を使用します。 – Squashman