Batch file 使用Windows批处理脚本将多个文件从子文件夹移动到单个文件夹

Batch file 使用Windows批处理脚本将多个文件从子文件夹移动到单个文件夹,batch-file,move,Batch File,Move,我有一个要求,文件存在于文件夹和子文件夹中。子文件夹是使用当前日期和时间动态创建的。所有文件都应移动到一个目标文件夹,而不包含子文件夹 文件夹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

我有一个要求,文件存在于文件夹和子文件夹中。子文件夹是使用当前日期和时间动态创建的。所有文件都应移动到一个目标文件夹,而不包含子文件夹

文件夹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
目标文件夹应如下所示

@echo off
cd /d "A"
for /r %%d in (*) do copy "%d" "F:\Tickets\B"
文件夹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)

此外,不确定您真正想要的目标路径,但您可以:

@echo off
set "dest=F:\Tickets\B\"
set "source=C:\some dir\A"
for /r "%source%" %%d in (*) do copy "%%d" "%dest%"

将上述代码复制并粘贴到批处理文件中。

几乎正确,无需CD,只需在
/r
之后指定文件夹的父路径,还可以确保正确地双引号,最好在要复制到的路径末尾加反斜杠:

for /r "C:\path to folderA" %%d in (*) do copy "%%d" "F:\Tickets\Movement\390558-Harmony-LCOPYREC\B\"
例如,如果您不想复制所有文件而只想
.txt
,只需将您的条件更改为
(*.txt)

此外,不确定您真正想要的目标路径,但您可以:

@echo off
set "dest=F:\Tickets\B\"
set "source=C:\some dir\A"
for /r "%source%" %%d in (*) do copy "%%d" "%dest%"

将上述代码复制并粘贴到批处理文件中。

我使用cmd中的以下命令将音乐文件夹及其所有子文件夹中的所有m4a文件复制到另一个文件夹“我的音乐”中。不要忘记目标文件夹路径后的“\”

for /r "c:\Users\A\Desktop\music" %x in (*.m4a) do copy "%x" "c:\Users\A\Desktop\my-music\"

我在cmd中使用了以下命令,将音乐文件夹及其所有子文件夹中的所有m4a文件复制到另一个文件夹“我的音乐”中。不要忘记目标文件夹路径后的“\”

for /r "c:\Users\A\Desktop\music" %x in (*.m4a) do copy "%x" "c:\Users\A\Desktop\my-music\"

如果要从cmd执行此操作,请在
/n
之后指定父文件夹路径,如(*)中的/r“C:\parentFolderPath\%d的
,请复制“%d”d:\destinationFolderPath\”
不要忘记在路径末尾加反斜杠

如果要从cmd执行此操作,请在
/n
之后指定父文件夹路径,如(*)中/r“C:\parentFolderPath\%d的
,请复制“%d”d:\destinationFolderPath\”
不要忘记在路径末尾加反斜杠