2013-02-12 74 views
0

嘿傢伙,我需要知道如何隱藏一個我不知道名字的文件。隱藏批處理文件中的未知文件

例如我有6個名爲1-6的文件夾,但我認爲他們的名爲a-f。他們的目錄是C:\ users \ all users \ bond。

我該怎麼做呢?

我不需要隱藏文件所在的目錄我需要能夠進入目錄並隱藏其中的文件。

這是我能想到的唯一的事情:

@echo off 
cd C:\users\all users\bond 
attrib +h +s %filename% * 
echo. 
echo files successfully hidden. 
pause 
exit 
+0

所以,你要隱藏一個給定文件夾內的所有文件? – 2013-02-12 03:57:40

+0

是的,我不想隱藏文件所在的文件夾,但文件夾本身內的文件。所以如果我有文件夾是測試和文件正在1 2 3我想隱藏1 2 3並不隱藏測試,但我需要能夠做到這一點只知道文件夾名稱是測試 – cmd 2013-02-13 21:55:40

+0

如果IM混淆SORRY – cmd 2013-02-13 21:58:19

回答

1

你可以遍歷文件夾。

for命令可以獲取文件夾名稱或通配符列表。

@echo off 
cd /d c:\users\all users\bond 
for /d %%D in (FOLDER NAMES GO HERE) do (
    pushd %%D 
    attrib +h *.* 
    popd 
    ) 
exit /b 

如果您需要處理所有文件夾在當前目錄,只是把*有:

... 
for /d %%D in (*) do (
... 

你也更改到父目錄,但在其指定for代替(注意面罩周圍的引號):

@echo off 
for /d %%D in ("c:\users\all users\bond\*") do (
... 

類似地,您可以省略跳入和跳出每個子目錄,而是在attrib命令中指定路徑。

所以,上面的腳本可以改寫這樣的:

@echo off 
for /d %%D in ("c:\users\all users\bond\*") do attrib +h "%%D\*" 
exit /b 
+0

我冒昧地將我的建議添加到您的帖子的「增強」腳本中。如有必要,請隨時將其回滾,或按照您的需要進行編輯。 – 2013-02-13 07:13:31