[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 这个BAT代码要怎么改,在名文件名后加上日期时间

请帮我改下能多实现以下功能
当新的目录中有所列出的文件时,在新目录中复制一份改名,在名文件名后加上日期时间
比如新目录是有A02.txt文件了,就在A02.txt的地复制一份改名 A02日期时间.txt
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=2 delims==" %%i in ('more +26 "%~f0"') do (
  4.         set /a n+=1
  5.         if !n!==1 call set 原目录=%%i
  6. if !n!==2 call set 新目录=%%i
  7. )
  8. rem echo 获取当前日期字符串
  9. for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c
  10. rem echo 获取当前时间字符串
  11. for /f "tokens=1,2,3 delims=:." %%a in ("%time%") do @set T=%%a%%b%%c
  12. rem echo 如当前小时小于10,将空格替换为0
  13. set T=%T: =0%
  14. rem echo 显示输出日期时间字符串
  15. :: echo %D%%T%
  16. for /f "delims=" %%a in ('more +30 "%~f0"') do (
  17.     for /f "delims=" %%i in ('dir /a-d /s /b "%原目录%\%%a"^|^|echo;%%a^>^>未找到的文件.txt') do copy /y "%%~fi" %新目录%\
  18. )
  19. pause
  20. :end
  21. ::以下设置需要同步的两个目录::
  22. 原目录=H:\新建文件夹\A
  23. 新目录=H:\新建文件夹\B
  24. ::以下填入需要同步的文件名::
  25. A01.txt
  26. A02.txt
  27. A03.txt
复制代码

第20行改一下
  1. copy /y "%%~fi" "%新目录%\%%~na-%D%%T%%%~xa"
复制代码

TOP

回复 2# went


    在哪个位置添加

TOP

回复 2# went


    我是要在原功能不变的基础添加上这个功能

TOP

回复 4# qqhsx


    加个if代码
  1. do if exist "%新目录%\%%~nxa" ( copy /y "%%~fi" "%新目录%\%%~na-%D%%T%%%~xa" ) else ( copy /y "%%~fi" "%新目录%\" )
复制代码
1

评分人数

    • qqhsx: 乐于助人技术 + 1

TOP

返回列表