开发者

multiple command executing in cmd?

开发者 https://www.devze.com 2022-12-10 11:17 出处:网络
I want to hide multiple files with 开发者_如何学编程the attrib <file path> +s +h but it stops after the first folder.

I want to hide multiple files with 开发者_如何学编程the attrib <file path> +s +h but it stops after the first folder. I have this...

@ech off
attrib z:\test +s +h
attrib C:\Documents and Settings\Administrator\Desktop\test +s +h

Yes, I have two drives. But it stops execution after the first folder. How do I make it execute both commands. I know about the call command, but is that the only way? There can't be this big of a flaw in DOS, where you can't execute multiple commands in one batch file.


It should work fine if you haven't made a mistake (which you have - in DOS, the switches come before the folder). Try this:

@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\*.*"

Again, your problem is you're doing "attrib [folder] [attribute switches]", where attrib.exe wants "attrib [attribute switches] [folder]" instead. Thanks to JimG for the correction. The problem is probably related to my second REM statement about the missing double-quotes around the path with spaces.

For more info about attrib.exe, type this at a command prompt:

C:\> attrib /?


you are missing the /S flag


Your second command doesn't work because you haven't quoted the path with spaces in it. Either that, or you have a batch file called attrib.bat on your path before attrib.exe (but I doubt this is the case). You could test it by using attrib.exe instead of just attrib.

CALL is only necessary for running other batch files, not .exe files.

0

精彩评论

暂无评论...
验证码 换一张
取 消