我正在嘗試創建一個批處理文件以從TXT文件重新啓動多臺計算機。只要/ c「comment here」參數沒有空格,一切正常。如果我將「測試」作爲註釋通過,我會在彈出窗口中看到「測試」,以便重啓。如果我通過「測試空間」作爲評論,我仍然只在彈出窗口中獲得「測試」。在@echo關閉的情況下,我已經驗證了該評論在傳遞給VBS時保留了空格,所以我認爲問題在於我正在通過「invisible.vbs」腳本運行,以防止另一個CMD窗口打開並掛起原始BAT腳本。批處理文件在參數中使用「帶引號的空格」調用VBS
我希望能有類似於最後的命令運行:
關機/ R/M \\ 127.0.0.1 /噸,120/C「您的計算機將在兩分鐘內停車檢修任務「
任何幫助,這將不勝感激!
restart.bat的重要組成部分:
for /f "tokens=1-3" %%c in (%FilePath%) do WScript /nologo "%windir%\myscripts\invisible.vbs" "shutdown /r /m \\%%c /t %delay% /c %message%"
我也嘗試添加%左右的消息%的額外的報價,但沒有成功:
for /f "tokens=1-3" %%c in (%FilePath%) do WScript /nologo "%windir%\myscripts\invisible.vbs" "shutdown /r /m \\%%c /t %delay% /c "%message%""
的invisible.vbs腳本(上StackExchange發現):
CreateObject("Wscript.Shell").Run "" & WScript.Arguments(0) & "", 0, False
任何幫助將不勝感激!
編輯:使用你的第三個方法的建議,我得到一個腳本錯誤:
Script: C:\Windows\myscripts\invisible.vbs
Line: 1
Char: 46
Error: The system cannot find the file specified
Code: 80070002
Source: (null)
編輯2:我只是嘗試的第一個方法,也和我現在得到一個VBScript回聲彈出與正確的我希望發送的命令,但不發送命令。我離程序員很遠,我使用的唯一VBS是我在網上找到的東西。我非常感謝您迄今爲止提供的幫助,但我仍然無法實現這一目標。
我選擇嘗試你的第三種方法,但我得到一個腳本錯誤。編輯我的原始帖子。 – MakoHunter
試過第一個選項,但沒有成功。 – MakoHunter
@MakoHunter,沒有看到你的代碼,我不能說你爲什麼會在第三種情況下得到一個錯誤,對我來說它是有效的。對於第一個示例,「WScript.Echo」顯示彈出窗口。它的目的是作爲一個樣本。我已將代碼改編爲您的案例。 –