从具有特定文件和文件夹名称的文件夹中复制文件的脚本
A script to copy files from folders with a specific file and folder names
首先,我应该提到有一台 windows 机器。
现在,我想复制文件名中包含 until
的文件。
我有一个名为 my data
的文件夹。我在其中有几个文件夹,它们的名称末尾有四位数字,例如 my_folder_0000
。我想找到这些文件夹,并将文件名中包含 until
的文件复制到另一个文件夹中。
为了清楚起见,请参阅以下示例以更好地理解结构:
my data/
|-- /my_folder_0000/my_file_until_2010.csv
|-- /his_folder_0001/his_file_until_2011.csv
|-- /test
|-- /documents
在上面的例子中,我想遍历前两个文件夹,将文件复制到我桌面上的文件夹中。
我想要一个适用于 windows 的脚本。谢谢!
这应该可以让您了解如何操作:
@echo off& setlocal
for /d %%d in ("%~1\*.*") do set dir=%%d& call :next_dir %2
exit /b
:next_dir
for /f "delims=0123456789" %%i in ("%dir:~-4%") do exit /b
copy /y "%dir%\*until*.*" %1 | find "until"
在命令行中,第一个参数是源目录(在您的情况下可能是“\my data”),第二个参数是复制文件的目标目录。
Existing/duplicate-named 文件在目标中被覆盖而没有提示。文件名在复制时显示。
首先,我应该提到有一台 windows 机器。
现在,我想复制文件名中包含 until
的文件。
我有一个名为 my data
的文件夹。我在其中有几个文件夹,它们的名称末尾有四位数字,例如 my_folder_0000
。我想找到这些文件夹,并将文件名中包含 until
的文件复制到另一个文件夹中。
为了清楚起见,请参阅以下示例以更好地理解结构:
my data/
|-- /my_folder_0000/my_file_until_2010.csv
|-- /his_folder_0001/his_file_until_2011.csv
|-- /test
|-- /documents
在上面的例子中,我想遍历前两个文件夹,将文件复制到我桌面上的文件夹中。
我想要一个适用于 windows 的脚本。谢谢!
这应该可以让您了解如何操作:
@echo off& setlocal
for /d %%d in ("%~1\*.*") do set dir=%%d& call :next_dir %2
exit /b
:next_dir
for /f "delims=0123456789" %%i in ("%dir:~-4%") do exit /b
copy /y "%dir%\*until*.*" %1 | find "until"
在命令行中,第一个参数是源目录(在您的情况下可能是“\my data”),第二个参数是复制文件的目标目录。
Existing/duplicate-named 文件在目标中被覆盖而没有提示。文件名在复制时显示。