我使用的是 Windows 7 企业版,过去 365 天每天大约有 20 个文件需要排序。
所有文件都在同一个目录中。每个文件名还包含文件的创建日期。日期采用格式MM-DD-YYY
并从文件名的第 29 个字符开始。这些文件具有.csv
扩展名。
我需要创建一个批处理文件,将所有具有相同日期的文件移动到它们自己的文件夹中,然后移动到我电脑上的另一个驱动器上。
我使用的是 Windows 7 企业版,过去 365 天每天大约有 20 个文件需要排序。
所有文件都在同一个目录中。每个文件名还包含文件的创建日期。日期采用格式MM-DD-YYY
并从文件名的第 29 个字符开始。这些文件具有.csv
扩展名。
我需要创建一个批处理文件,将所有具有相同日期的文件移动到它们自己的文件夹中,然后移动到我电脑上的另一个驱动器上。
@echo off
setlocal EnableDelayedExpansion
for %%a in (*.csv) do (
set fileName=%%~a
set datePart=!fileName:~28,9!
if not exist "D:\!datePart!" md "D:\!datePart!"
move "%%a" "D:\!datePart!"
)
此脚本提取每个文件名的日期部分,并将其用作要将文件移动到的文件夹的名称。如果文件夹不存在,则创建它,然后将文件移动到该文件夹。
如所写,脚本遍历当前目录.csv
中的文件。这是由循环中的掩码指定的:. 您可以更改掩码以包含特定的处理路径,例如.for
*.csv
C:\path\to\*.csv
目标驱动器也被硬编码并假定为D:
. 如果您需要使用不同的驱动器,请更改脚本的相应条目。
可以通过使用以下任一语法从命令提示符调用命令的内置帮助来获取此脚本中使用的每个命令的详细信息:
command /?
help command