任务是使用
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
命令的工作目录吗?
wmic process call create /?
,但是我无法理解屏幕上的帮助信息。它上面没有一个逗号。 :) - foxidrivewmic call create "calc.exe" "c:\"
来获取(抱歉,西班牙语Windows区域设置)Sugerencia: <lista_parámetros> = <parámetro> [, <lista_parámetros>]
。 - MC ND