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

fox*_*ive 6 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
Run Code Online (Sandbox Code Playgroud)

有没有人知道WMIC将为此命令设置工作目录的开关?

MC *_* ND 7

跑

wmic process call create /?
Run Code Online (Sandbox Code Playgroud)

获取有关原因的信息

wmic process call create "c:\folder\app.exe","c:\folder"
Run Code Online (Sandbox Code Playgroud)

应该管用