我需要一些帮助,请。我正在尝试创建一个批处理文件以将文件从一个文件夹移动到另一个文件夹。文件名将具有可变的 yyyy-mm 格式以及日期之前或之后的附加数据。该批次需要将文件移动到具有相同 mmmm-yy 文件夹名称的服务器目录。
我想出了下面的代码,但它并不完全有效。
- 返回“缺少操作数”错误。
- 新目录已创建,但文件并未从旧文件夹移动到新文件夹。
我的代码:
@echo off
FOR /F "skip=1 tokens=1-6" %%A IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') DO (
SET /A MONTH=%%D
SET /A YEAR=%%F
)
:: Set month to last month
set /a MONTH=%MONTH%-1
:: If month equals zero, reset to 12
if %MONTH%==0 set MONTH=12
:: If month < 10, fill with zero
if %MONTH% LSS 10 set MONTH=0%MONTH%
:: If month = 12, subtract one year
if %MONTH%==12 set /a YEAR=%YEAR%-1
SET FILEDATE=%YEAR%-%MONTH%
SET FOLDER2=E:\ARCHIVE\%FILEDATE%
MKDIR %FOLDER2%
:: trying to recreate the format MOVE C:\FOLDER1\\*2013-07*.* E:\FOLDER2\2013-07 which does work
MOVE C:\FOLDER1\\*%FILEDATE%*.* %FOLDER2%
:END
EXIT
编辑:下面的两个响应者都非常有帮助。我试图投票给他们,但我想我的名声不好。妈妈是对的——小心你的名誉!它会让你走得更远。:)