首先,我应该提一下有一台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的脚本。谢谢!
答案 0 :(得分:1)
这应该让你知道如何做到这一点:
@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"
在命令行中,1st arg是源目录(在您的情况下可能是“\ my data”),第二个参数是复制文件的目标目录。
现有/重复命名的文件将在目标中被覆盖而不会提示。文件名在复制时显示。