批处理如何移动隐藏目录?

问题描述 投票:0回答:3

我在批处理脚本(.bat)中使用以下脚本行将目录的内容复制到另一个目录:

move "C:\foo\*.*" "C:\bar\"
for /d %%a in ("C:\foo\*") do move "%%~fa" "C:\bar\"

第一行移动文件,第二行移动文件夹。但是,这些并不会移动隐藏的目录。 .git是一个常见示例。我尝试for /d %%a in ("C:\foo\.*") do move "%%~fa" "C:\bar\"失败。

如何将隐藏的目录以及其余文件和目录一起移动?

编辑:以下解决方案非常接近于执行所需的操作,但是失败,因为“ move”命令找不到隐藏的文件夹(在未隐藏且可以工作的.folder上进行了相同的尝试:) >

for /f "tokens=*" %%G in ('dir /b /a:hd "C:\foo\*"') do move "C:\foo\%%G" "C:\bar\"

我正在批处理脚本(.bat)中使用以下脚本行将目录的内容复制到另一个目录:将“ C:\ foo \ *。*”“ C:\ bar \”移动为/ d %% in(“ C:\ foo \ *”)确实移动了“ %%〜fa”“ C:\ bar \” The ...

batch-file directory move
3个回答
0
投票

对于您要执行的操作,您可以先使用attrib命令,然后再移动内容以从文件中删除隐藏的属性。您可以使用它来实现您的目标:


0
投票

.开头的文件或目录名称并不意味着它是隐藏的。


0
投票

经过一些额外的研究,我发现robocopy似乎默认包含在Windows 10发行版中,/A允许将所有需要的文件和文件夹移动到一行,例如:

© www.soinside.com 2019 - 2024. All rights reserved.