我正在尝试制作一个在桌面上隐藏一些图标的脚本。当我在命令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%)
答案 0 :(得分: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的脚本编写,绝对值得一试。
答案 1 :(得分:0)
Hidedesktopicons.exe
并没有为我做任何事情,但实际上给出的链接是有效的。 http://www.actualtools.com/forum/read.php?FID=8&TID=1072