以下是我正在尝试执行的操作,以便在远程服务器上运行cmd。在serverList.txt带有空格的批处理文件传递路径
一个例子:
服务器名& E:\ A \ B \ C \ ABC EDF \ ABC \
@echo on
cd /d %~dp0
setlocal EnableDelayedExpansion
set serverList=serverList.txt
for /f "usebackq tokens=1,2* delims=&" %%A in ("%serverList%") DO (
SET directory = %%B
wmic /node:%%A process call create "cmd /c cd /d !directory! & !directory!\hello.cmd"
)
endlocal
Pause
但你可以看到,该目录的路径有一个白色的空间,我尝试了双引号,但没有帮助。它没有做任何事情,没有它完美的工作空间。
想知道我出错的地方。非常感激!
JS
是你使用的确切批处理文件吗?应该使用'!directory!'而不是'%directory%'来使'EnableDelayedExpansion'正常工作。我不知道在目录名称中如何使用或不使用空格。 –
耶!试过!目录!但没有运气。它就像“cmd/c cd/d %% B&%% B \ hello.cmd”,并且完美运行直到我发现一些目录之间有空格。 – user2381130