以下は、パラメータを使用してバッチファイルを呼び出すパワーシェルスクリプトの行です。位置パラメータエラーが発生します。コマンドプロンプトからパラメータを使用してバッチファイルを呼び出す方法
誰かがpowershellスクリプトのパラメータを使ってバッチファイルを呼び出す方法と、バッチファイルからその入力パラメータを取得する方法を教えてください。
スタート・プロセス "のcmd.exe" "/ C D:\ load.bat" "$パスワード"
--Error:
**PS D:\Oracle\Scripts\Obi> .\XYZ.ps1
Start-Process : **A positional parameter cannot be found that accepts argument 'password'.**
At D:\.ps1:4 char:1
+ Start-Process "cmd.exe" "/c D:\load.bat" "$Password"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Start-Process], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand**
スクリプト私のパワーのシェルスクリプトのおかげで
はラインPowerShellのからバッチファイル(cmd.exe
シェルスクリプト)を実行するには
set "Var=%1"
for %%i in (*.csv) do (
sqlldr USERID=userid/%Var%@server:prot/domain, CONTROL=control.ctl, LOG=logfile.log,ERRORS=9999 data='%%i' direct='true'
move %%i D:\backup
)
のように(Redirectionを参照)
$password
変数がcmd
有毒文字が含まれていないことを前提に実行するのでしょうか? PowerShellから直接必要なコマンドを実行するだけです。 –バッチが必要なのは、一連のSQLプロシージャとファンクションがトリガーされるためです。すべてをPSに変換するのは巨大な作業です。私のPSからバッチを呼び出す方法はありますか? –
**実行可能ファイルとしてバッチファイルを実行** ** – DeveloperTK