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

[文本处理] [已解决]BAT如何实现文本批量复制按条件改名?

如我当前目录有一下txt
12035K41A.txt
12035K41B.txt
12035K41C.txt
12035K41D.txt

现在要把他移到当前目录的abc文件夹。
条件如果abc文件夹内存在同名
12035K41A.txt
12035K41B.txt
则把移动过去的文件更名 原文件名_T.txt
如没重复的
12035K41C.txt
12035K41D.txt
则照原文件移动。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d /b *.txt') do (
  3.   if not exist "abc\%%a" (move "%%a" "abc\"
  4.   ) else move "%%a" "abc\%%~na_T%%~xa"
  5. )
  6. pause
复制代码
1

评分人数

    • lateol: 成功通过。技术 + 1

TOP

  1. @echo off
  2. setlocal enableDelayedExpansion
  3. for /f "tokens=*" %%i in ('dir /a-d /b') do (
  4. if not "%%i"=="%0.bat" (
  5. set str=%%~ni
  6. dir "d:/abc" /a-d /b|findstr "%%i"  && ren "!str!.txt" "!str!_T.txt" &&
  7. move "!str!_T.txt" "d:/abc"
  8. move "!str!.txt" "d:/abc"
  9. )
  10. )>nul
  11. )
复制代码

TOP

回复 3# poter


    谢谢您的帮助 已经解决了。

TOP

回复 2# apang


    非常感谢,很给力。

TOP

返回列表