以下是我正在嘗試執行的操作,以便在遠程服務器上運行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