2012-01-07 489 views
1

我正在試圖在桌面上隱藏一些圖標的腳本。當我在命令promt中逐行運行它時,它可以工作,但是當我在cmd中運行* .bat文件時,它說「此時屬性意外。」 下面是代碼:用於隱藏桌面圖標的批處理腳本

set address=file.ext 
set attributes=attrib %address% 
for /F "tokens=*" %i in ("%attributes%") do set var=%i 
set var=%var: =% 
if %var:~1,1%==H (attrib -H %address%)else (attrib +H %address%) 

回答

1

試試這個:在一個批處理文件運行時

for /F "tokens=*" %%i in ("%attributes%") do set var=%%i 

for循環變量需要%%代替%。但是從命令行來看,%工作得很好。

如果您需要批處理文件的任何其他幫助,您應該查看Rob van der Woude's pages on batch file scripting。對於越來越難以找到信息的語言來說,這是一個非常豐富的資源。說到這一點,我感到不得不提到Powershell腳本已經在很大程度上取代了DOS批處理文件腳本(並且有很好的理由)。幾乎在DOS批處理文件中您可以執行的任何操作都可以在Powershell腳本中輕鬆完成。如果你打算做更多的基於Windows的腳本,那肯定值得檢查。

+0

這對我無能爲力 – Supuhstar 2014-03-26 17:33:14