2016-10-19 11 views
0

PowerShellの場合、コマンドStart-Process c:\Folder\install.batを発行します。スタートプロセスを使用して、.exe、間違ったパスを呼び出す.batファイルを呼び出しますか?

バッチファイルは、この内部を持っている:私は自分自身でinstall.batを実行すると

setup.exe /switch1 /switch2 

、それが正常に動作します。私の問題は、PowerShellから呼び出すときに、systems32からsetup.exeを実行しようとしていることがわかり、コマンドが認識されないということです。

PowerShellを実行し、実行する場所への正しいパスを与えるにはどうすればよいですかsetup.exe?バッチファイルの中にパスを挿入しようとしましたが、失敗しました。

+2

' "C:\フォルダ\ SETUP.EXE"/スイッチ1/switch2'。 ..とにかく、なぜバッチファイルが必要なのですか? PowerShellから 'setup.exe'を直接呼び出さないのはなぜですか? – aschipfl

+1

バッチファイルはsetup.exeと同じフォルダにありますか? @aschipflに同意します。 Powershellを使って直接実行ファイルを実行してください。 – Squashman

+0

バッチファイルには、 ''%〜dp0setup.exe/switch1/switch2'も '' setup.exe ''が常に '' install.bat' 'と同じディレクトリにあり、バッチファイルが使用されます。インストーラを起動するだけです。 '%〜dp0'はドライブと引数である0のパスを参照します。これはドライブであり、バッチファイルのパスとパスはバックスラッシュで終わります。 – Mofi

答えて

0

パスを使ってsetup.exeを起動すると、現在のフォルダにあるいくつかのファイルが欠落することがあります。したがって、この優雅な方法

Set-Location c:\Folder\ 
Start-Process setup.exe /switch1 /switch2 

またはバッチ内は現在のディレクトリを変更される場合があります

Pushd %~dp0 
setup.exe /switch1 /switch2 
popd 

はHTH

+0

PSには同じスイッチを使用できません.LOTがありPS上で動作しませんでした。これは皆さんにヒントを与えるかもしれません。 PSを実行すると、CMDウィンドウの始めにc:\ Windows \ system32> ccmsetup.exe/switchと表示されます。インストーラをダブルクリックすると、正しいパスに移動します。 c:\ Deployment \ Installers \ setup.exe – DrixlRey

+0

待ちます!私はそれが働いたと思う、私はいくつかのテストをしましょう! – DrixlRey

関連する問題