找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18074|回复: 4

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

[复制链接]
发表于 2021-10-21 20:09:17 | 显示全部楼层 |阅读模式
请帮我改下能多实现以下功能
当新的目录中有所列出的文件时,在新目录中复制一份改名,在名文件名后加上日期时间
比如新目录是有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
复制代码
发表于 2021-10-21 20:36:21 | 显示全部楼层
第20行改一下
  1. copy /y "%%~fi" "%新目录%\%%~na-%D%%T%%%~xa"
复制代码
 楼主| 发表于 2021-10-21 20:40:13 | 显示全部楼层
回复 2# went


    在哪个位置添加
 楼主| 发表于 2021-10-21 20:44:07 | 显示全部楼层
回复 2# went


    我是要在原功能不变的基础添加上这个功能
发表于 2021-10-21 20:48:19 | 显示全部楼层
回复 4# qqhsx


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

评分

参与人数 1技术 +1 收起 理由
qqhsx + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 01:39 , Processed in 0.019950 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表