WMIC:如何使用**进程调用create **和特定的工作目录?

时间:2014-07-09 16:10:39

标签: windows batch-file wmic

任务是使用wmic process call create "c:\folder\app.exe"启动程序,并app.exe访问app.exe home folder tree中自己的支持文件。

下面的批处理脚本说明了WMIC以静默方式更改工作目录的问题,因此无法找到支持文件。

此脚本创建名为one.bat的第二个批处理文件,只需在同一文件夹中键入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开关?

1 个答案:

答案 0 :(得分:7)

运行

wmic process call create /?

获取有关此原因的信息

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

应该有效