![在批处理文件名中使用日期](https://linux22.com/image/1503984/%E5%9C%A8%E6%89%B9%E5%A4%84%E7%90%86%E6%96%87%E4%BB%B6%E5%90%8D%E4%B8%AD%E4%BD%BF%E7%94%A8%E6%97%A5%E6%9C%9F.png)
我有一个使用月、日和年生成当前日期的文件。以前此文件不包含日期,我使用批处理文件中带有 _%All% 的脚本将文件移动到其他文件夹,这样就可以正常工作。
我现在需要使用正确的语法,以便脚本可以获取具有当前日期的文件并继续让脚本将文件移动到备份文件夹中。
以下是已经使用成功的脚本。
@echo off
@For /F "tokens=1,2,3,4 delims=/ " %%A in ('Date /t') do @(
Set DayW=%%A
Set Day=%%B
Set Month=%%C
Set Year=%%D
Set All=%%A%%B%%C%%D
)
move \\crserverXX\Batch\ASCII\OCR1_CRM\OCR1.CSV \\crserverXX\Batch\ASCII\OCR_Backup\OCR1.CSV
ren \\crserverXX\Batch\ASCII\OCR_Backup\OCR1.CSV OCR1_%All%.CSV
move \\crserverXX\Batch\ASCII\OCR1_CRM\OCR1.CSV.bak \\crserverXX\Batch\ASCII\OCR_Backup\OCR1.CSV.bak
ren \\crserverXX\Batch\ASCII\OCR_Backup\OCR1.CSV.bak OCR1_%All%.CSV.bak
现在的问题是,每天生成的文件还将包含以下日期:OCR1081916.CSV。
使用日期变量的正确方法是什么,以便无论日期如何它都会移动 OCR1 文件?
答案1
我需要脚本将文件从原始位置移动到备份位置
此时,由于文件每天都会生成一个日期
在这种情况下,您可以放弃大部分批处理文件。不需要所有用于操作日期和重命名文件的代码。
使用以下批处理文件:
@echo off
move \\crserverXX\Batch\ASCII\OCR1_CRM\OCR1*.CSV \\crserverXX\Batch\ASCII\OCR_Backup\
move \\crserverXX\Batch\ASCII\OCR1_CRM\OCR1*.CSV.bak \\crserverXX\Batch\ASCII\OCR_Backup\
进一步阅读
- Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
- 移动- 将文件从一个文件夹移动到另一个文件夹。