Batch file 如何在批处理命令中将文件从一个目录复制到另一个目录

Batch file 如何在批处理命令中将文件从一个目录复制到另一个目录,batch-file,Batch File,我希望复制一个扩展名为.dyn的文件,该文件位于主文件夹(T15_finished)的每个子文件夹中。我希望将其复制到其他位置(T15)的相应子文件夹中。我已经使用xcopy命令创建了那个位置。此处,.dyn文件已成功复制到T15文件夹的相应子文件夹中(请参见下面的代码)。现在,我有一个扩展名为.dynain的文件,它位于与.dyn相同的子文件夹中。而且.dynain文件也被复制了,这是我不想要的。 请参阅我创建的以下代码。谁能告诉我怎么了 @echo off xcopy D:\Master\

我希望复制一个扩展名为.dyn的文件,该文件位于主文件夹(T15_finished)的每个子文件夹中。我希望将其复制到其他位置(T15)的相应子文件夹中。我已经使用xcopy命令创建了那个位置。此处,.dyn文件已成功复制到T15文件夹的相应子文件夹中(请参见下面的代码)。现在,我有一个扩展名为.dynain的文件,它位于与.dyn相同的子文件夹中。而且.dynain文件也被复制了,这是我不想要的。 请参阅我创建的以下代码。谁能告诉我怎么了

@echo off

xcopy D:\Master\SPRINGBACK\CPW\T15_finished  D:\Master\SPRINGBACK\FRESH_SPRINGBACK\CPW\T15 /t
xcopy /e D:\Master\SPRINGBACK\CPW\T15_finished\*.dyn D:\Master\SPRINGBACK\FRESH_SPRINGBACK\CPW\T15

pause

正在匹配短文件名和长文件名。这就是原因

解决方案是使用另一个命令删除文件:

del /s "D:\Master\SPRINGBACK\FRESH_SPRINGBACK\CPW\T15\*.dynain"

短文件名。如果您在包含
.dynain
文件的文件夹中执行
dir/x
,您将看到为该文件生成的8.3文件名,它将具有
.dyn
扩展名

如果知道冲突文件的扩展名,可以使用
robocopy
/xf
开关指示要排除的文件(
*.dynain
),也可以生成一个排除文件,用于
xcopy/exclude:file
(有关说明,请参阅
xcopy/?

或者,您可以生成要排除的文件列表

(for /f "tokens=" %%a in (
    'dir /s /b "D:\Master\SPRINGBACK\CPW\T15_finished\*.dyn" ^| findstr /v /i /e /l ".dyn"'
) do @echo(%%~nxa)>excludedFiles.txt

xcopy /exclude:excludedFiles.txt /e D:\Master\SPRINGBACK\CPW\T15_finished\*.dyn D:\Master\SPRINGBACK\FRESH_SPRINGBACK\CPW\T15

或者(由foxidrive发布),复制所有文件,然后删除不需要的文件。

Yes。。我用del命令做的。。但我想问问是否有可能。。谢谢。。