批處理文件以一個極度簡單的批處理文件:管理員的快捷與雙引號參數
echo hi
pause
保存,作爲test.bat的。現在,創建test.bat的快捷方式。該快捷方式運行批處理文件,打印「嗨」,然後等待按鍵按預期。現在,爲快捷方式的目標添加一些參數。現在您有快捷方式:
%path%\test.bat some args
該快捷方式像以前一樣運行批處理文件。
現在,以管理員身份運行快捷方式。 (順便說一下,這是在Windows 7上)。您可以使用右鍵單擊 - >以管理員身份運行,或者轉到快捷方式的屬性並選中高級部分中的框。告訴UAC它沒關係,再次快捷方式按預期運行批處理文件。
現在,更改的參數在快捷方式的目標增添雙引號:
%path%\test.bat "some args"
現在嘗試快捷的管理員。這次不行!命令窗口彈出並消失得太快而看不到任何錯誤。我嘗試在快捷方式中添加> test.log 2> & 1,但在這種情況下沒有創建日誌。
嘗試運行相同的快捷方式(使用雙引號),但不能以管理員身份運行。它運行良好的批處理文件。所以,看起來行爲並不是因爲雙引號參數,而是因爲它以管理員身份運行。這是兩個奇怪的組合。
我也嘗試從管理員的命令窗口運行相同的命令。這如預期的那樣運行批處理文件而沒有錯誤。從命令窗口運行快捷方式產生了一個新的命令窗口,該窗口閃爍並消失。顯然這個問題是由管理員,快捷方式和雙引號的組合引起的。
我完全被難住了,有沒有人有任何想法發生了什麼?我也想要一個解決方法。
當您在命令行上運行實際命令時,該怎麼辦? '%path%\ test.bat「一些參數」'。你看見什麼了? – ghostdog74 2010-03-23 07:19:07
當從命令行運行時,批處理文件打印出「hi」,然後等待按鍵,如您所料。 – XXB 2010-03-23 16:17:31