batch-file - 批处理如何移动隐藏目录?
问题描述
我在批处理脚本 (.bat) 中使用以下脚本行将目录 (foo) 的内容复制到另一个 (bar):
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\"
没有成功。
如何移动我的隐藏目录以及我的其余文件和目录?
编辑:以下解决方案非常接近于执行所需的操作,但由于“移动”命令无法找到隐藏文件夹而失败(在未隐藏的 .folder 上尝试了相同的操作并且它有效):
for /f "tokens=*" %%G in ('dir /b /a:hd "C:\foo\*"') do move "C:\foo\%%G" "C:\bar\"
解决方案
经过一些额外的研究,我发现 robocopy 似乎默认包含在 Windows 10 发行版中,并robocopy /MOVE
允许在一行中移动所有需要的文件和文件夹,例如:
robocopy "C:\foo" "C:\bar" /E /MOVE
可以添加其他日志记录选项以减少命令行的输出。
推荐阅读
- python - 什么是浮动,我有正确的想法吗?
- entity-framework - .Net Core 2.0 到 2.1:“IMutableEntityType”不包含“脚手架”的定义
- php - Phpseclib 问题 - SSH_MSG_USERAUTH_FAILURE: publickey * PHP
- reactjs - 当我这样做时,它正在工作,但是当我以其他方式编写函数时,为什么它不起作用?
- list - Pandas:创建新的数据框,计算列表中关键字/短语在一列中出现的次数
- c# - 使用实体进行域事件调度
在 DbContext.SaveChanges 上 - vue.js - Vue Router 移动到路由但加载了错误的组件
- ruby-on-rails - 如何从 Model on Rails 5.1 中销毁嵌套对象
- ios - Fabric 构建失败 - 在 eval $DIR$PATH_SEP$VALIDATE_COMMAND 语句中运行脚本出现错误 137
- angular - 在嵌套子级中使用 formcontrol