标题: [文件操作] [分享]批处理移动多个文件并给重名文件添加后缀 [打印本页]
作者: Batcher 时间: 2023-6-27 14:39 标题: [分享]批处理移动多个文件并给重名文件添加后缀
【问题描述】
请教一下大家:
就是我在D盘有很多文件夹,文件夹里有很分散的txt文档和word文档,我想把它们统一移动到F盘,如果出现文件名字一样的 1.txt 或者 2.xls的文件 自动重命名为1(0).txt,不管怎么重命名,只要不被替换或者覆盖就行- @echo off
- for /r %%a in (*.txt *.exl *.mkv *.iso ') do set n=0&call:checkfile "%%~a"
- pause&exit
- goto :eof
- :checkfile
- if not exist "D:\新建文件\1\%~n1%n%%~x1" (
- move "%~1" "E:\新建文件\2\%~n1%n%%~x1"
- ) else (
- set/a n+=1
- goto checkfile
- )
复制代码
帮我看看哪里不对
作者: Batcher 时间: 2023-6-27 14:40
for /r %%a in (*.txt *.exl *.mkv *.iso ') 这里多了一个单引号
if not exist 判断的是D盘,但是move的是E盘,这里也不对
【解决方案】
test-1.bat- @echo off
- setlocal enabledelayedexpansion
- set "OldFolder=D:\新建文件"
- set "NewFolder=F:\新建文件"
- for /r "%OldFolder%" %%a in (*.txt *.xls *.doc) do (
- set "n=1"
- call :CheckFile "%%a"
- )
- pause
- goto :eof
-
- :CheckFile
- if not exist "%NewFolder%\%~nx1" (
- move "%~1" "%NewFolder%\"
- ) else if not exist "%NewFolder%\%~n1_!n!%~x1" (
- move "%~1" "%NewFolder%\%~n1_!n!%~x1"
- ) else (
- set /a n+=1
- goto :CheckFile
- )
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |