2012-01-07 493 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