我有一个要求,文件存在于文件夹和子文件夹中。子文件夹是使用当前日期和时间动态创建的。所有文件都应移动到一个目标文件夹,而没有子文件夹。
文件夹A:
1.txt
2.txt
Folder 20180907-1240-008
3.txt
4.txt
Folder 20180907-1128-001
5.txt
6.txt
Folder 20180906-0040-010
7.txt
8.txt
目标文件夹应如下所示
文件夹 B:
1.txt
2.txt
3.txt
4.txt
5.txt
6.txt
7.txt
8.txt
下面的命令在命令提示符下工作
for /r %d in (*) do copy "%d" "F:\Tickets\Movement\390558-Harmony-LCOPYREC\B
我的批处理脚本如下所示
@echo off
cd /d "A"
for /r %%d in (*) do copy "%d" "F:\Tickets\B"
在批处理脚本中执行时出现如下错误
\Tickets\B\*
The system cannot find the file specified.
0 file(s) copied.
我如何使脚本工作
几乎正确,不需要 CD,只需指定文件夹的父路径,然后/r
确保正确使用双引号,并最好在要复制到的路径末尾添加反斜杠:
for /r "C:\path to folderA" %%d in (*) do copy "%%d" "F:\Tickets\Movement\390558-Harmony-LCOPYREC\B\"
如果您不想复制所有文件,.txt
例如,只需将条件更改为(*.txt)
for /r "C:\path to folderA" %%d in (*.txt) do copy "%%d" "F:\Tickets\Movement\390558-Harmony-LCOPYREC\B\"
另外,不确定您真正想要哪条路径作为目的地,但您可以这样做:
@echo off
set "dest=F:\Tickets\B\"
set "source=C:\some dir\A"
for /r "%source%" %%d in (*) do copy "%%d" "%dest%"
将上面的代码复制并粘贴到批处理文件中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句