web-dev-qa-db-ja.com

WMIC:特定の作業ディレクトリで** process call create **を使用する方法は?

タスクは、wmic process call create "c:\folder\app.exe"を使用してプログラムを起動し、app.exeapp.exe home folder tree内の独自のサポートファイルにアクセスさせることです。

以下のバッチスクリプトは、WMICが作業ディレクトリをサイレントに変更し、サポートファイルが見つからない場合の問題を示しています。

このスクリプトは、one.batという2番目のバッチファイルを作成します。このファイルは、同じフォルダーからurl.txtファイルを入力するだけで、コンソールにwww.google.comを表示します。

wmicを使用してプロセスを作成する場合、wmicは作業ディレクトリをサイレントに変更してone.batが見つからないようにします。フルパスをd:\abc\one.batとして指定すると、one.batが起動します。ただし、入力するファイルurl.txtが独自のフォルダーに見つかりません。

WMIC.EXEファイルを同じフォルダーにコピーすると、同じように失敗します。

@echo off
set "folder=d:\abc"
cd /d "%folder%"

(
echo.@echo off
echo.type url.txt
echo.pause
)>one.bat

(
echo.@echo off
echo.www.google.com
)>url.txt

echo this will work to launch the one.bat but the working directory is wrong and the file can't be found
wmic process call create "%folder%\one.bat"
pause

echo this will not launch one.bat because it can't be found
wmic process call create one.bat
pause

echo this will not launch one.bat as the working directory is changed
copy "%windir%\system32\wbem\wmic.exe" .
.\wmic process call create one.bat
pause

このコマンドの作業ディレクトリを設定するWMICスイッチを知っている人はいますか?

6
foxidrive

実行

wmic process call create /?

なぜこれなのかについての情報を得るために

wmic process call create "c:\folder\app.exe","c:\folder"

動作するはずです

7
MC ND