我想隐藏attrib <file path> +s +h
的多个文件,但它会在第一个文件夹后停止。
我有这个......
@ech off
attrib z:\test +s +h
attrib C:\Documents and Settings\Administrator\Desktop\test +s +h
是的,我有两个驱动器。但它会在第一个文件夹后停止执行。如何让它执行这两个命令。我知道call命令,但这是唯一的方法吗? DOS中没有这么大的缺陷,你不能在一个批处理文件中执行多个命令。
答案 0 :(得分:1)
如果你没有犯错(你有 - 在DOS下,开关在文件夹之前),它应该可以正常工作。试试这个:
@echo off
REM Add /s after the *.* to include subfolders
attrib +s +h z:\test\*.*
REM Note the double quotes around paths that have embedded spaces
attrib +s +h "c:\Documents and Settings\Adminstrator\Desktop\Test\*.*"
同样,你的问题是你正在做“attrib [folder] [属性开关]”,其中attrib.exe想要“attrib [属性开关] [文件夹]”而不是。感谢JimG为了纠正。问题可能与我关于带空格的路径周围缺少双引号的第二个REM语句有关。
有关attrib.exe的详细信息,请在命令提示符下键入:
C:\> attrib /?
答案 1 :(得分:0)
你缺少/ S标志
答案 2 :(得分:0)
你的第二个命令不起作用,因为你没有引用带有空格的路径。要么是这样,要么在attrib.exe之前你的路径上有一个名为attrib.bat的批处理文件(但我怀疑是这种情况)。您可以使用attrib.exe而不仅仅是attrib。来测试它。
仅在运行其他批处理文件时才需要CALL,而不是.exe文件。