如何從批處理腳本中檢查執行用戶是否可以寫入目錄?檢查BAT腳本中的目錄是否可寫的最佳方法?
這裏是我試過到目前爲止:
> cd "%PROGRAMFILES%"
> echo. > foo
Access is denied.
> echo %ERRORLEVEL%
0
好了,怎麼樣?
> copy NUL > foo
Access is denied.
> echo %ERRORLEVEL%
0
不要麼?那麼怎麼樣...
> copy foo bar
Access is denied.
0 file(s) copied.
> echo %ERRORLEVEL%
1
這可以工作,但它會中斷如果文件不存在。
我讀過一些關於內部命令但沒有設置ERRORLEVEL的內容,但copy
顯然在最後一種情況下是這樣做的。
哦,是啊...窗戶環境會讓你失望的。許多命令不會正確返回%errorlevel%...以及許多使用命令行參數的已安裝應用程序。 = D – Mechaflash
哈哈,是的......更不用說那些含有空格的引用和路徑的薄諺語冰。我使用了8.3路徑名。 ;) – batshcrazy
你可能會得到更多的運氣與這個問題在SO姐姐網站..超級用戶。com – inspite