隐藏批处理文件中的未知文件

时间:2013-02-12 01:16:33

标签: file batch-file directory hidden-files

嘿伙计们,我需要知道如何隐藏我不知道名字的文件。

例如,我有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

1 个答案:

答案 0 :(得分: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