批处理 文件改名拷贝另一目录,遇到同名再改名
发布网友
发布时间:2023-11-10 08:09
我来回答
共2个回答
热心网友
时间:2024-09-30 19:38
以下代码是将当前目录里的所有文件,复制到d:\abc文件夹里,若遇到同名的就在原文件名后面加上序号.
复制后,手动删除每行最后多余空格,否则可能会不能正常运行.
@echo off
if not exist d:\abc md d:\abc
set a=0
for /f "delims=" %%a in ('dir/b/a-d *.*') do call :lis "%%a"
goto :eof
:lis
if not exist "d:\abc\%~1" xcopy/y %1 "d:\abc\"&goto :eof
:loop
if not exist "d:\abc\%~1%a%" (copy/y %1 "d:\abc\%~1%a%") else set/a a+=1&goto loop
set a=0
goto :eof
============================================
那就更简单了,
假设要复制c:\aa.txt到d:\abc遇到同名的就在文件名后面加序号.
@echo off&set num=0
if not exist d:\abc\aa.txt copy/y c:\aa.txt d:\abc\aa.txt&&exit
:lis
set /a num+=1
if not exist d:\abc\aa%num%.txt (copy/y c:\aa.txt d:\abc\aa%num%.txt) else goto lis
热心网友
时间:2024-09-30 19:38
巧用acdsee!
用acdsee打开要改名文件的文件夹,全选/选中文件,点右键-重命名,设置你的文件名格式,在高级选项中选中“自动解决命名冲突”,开始重命名,再拷贝另一目录遇到同名时会提示再改名,选中左下角“全部应用”点右面(拷贝的文件)的重命名,即可。
批处理 文件改名拷贝另一目录,遇到同名再改名
假设要复制c:\aa.txt到d:\abc遇到同名的就在文件名后面加序号.echo off&set num=0 if not exist d:\abc\aa.txt copy/y c:\aa.txt d:\abc\aa.txt&&exit :lis set /a num+=1 if not exist d:\abc\aa%num%.txt (copy/y c:\aa.txt d:\abc\aa%num%.txt) else goto lis ...
批处理 批量复制,遇到同名文件自动重命名。
set /a n=1 if exist "%d%\%%~nxi" for /f %%j in ('dir/b "%d%\%%~nxi"^|find /c /v ""') do set /a n=%%j+1 if !n!==1 (copy "%%i" "%d%\%%~nxi") else copy "%%i" "%d%\%%~ni_!n!%%~xi"))批处理(Batch),也称为批处理脚本。顾名思义,批处理就是...
...并自动重命名?(需要移动的目录已经有同名文件夹或文件)
另存为Bat放在要移动的文件夹:移动当前所有文件,除开bat本身到目标目录,如果目标存在此文件,则改名为《new文件名》
批处理bat ,复制多个文件时处理重名文件
echo off & title 拷贝文件,同名时重命名 By 依梦琴瑶::设置文件列表名set List=file.txt::设置文件备份保存路径,当前目录请设一个英文小数点set SavDir=.for /f "delims=" do ('type "%List%"') do ( if exist "%SavDir%\%%~nxa" ( call :RenameFile "%%~a" ) else (...
批处理,复制大量文件时同名文件自动重命名。
echo 你可以将目标文件夹拖入本窗口,只在其目录下搜索。。。echo.&set/p OUT= (拖入文件夹到本窗口后需单击窗口,再按ENTER键确认):&cls set err=0&set fd=0 if "!OUT!" neq "§" if exist !OUT! (cd !OUT!||echo 路径不正确,不能包含文件名!&&pause&&goto str set fd=1&...
批处理复制文件时同名文件跳过并重命名.
1、E盘备份文件命名问题,建议采用以当前日期,时间为文件名。2、自动行你可以批处理命令加入启动项,或者添加WINDOWS任务计划运行。echo off if exist e:\micr\filename_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.bak goto existfile goto backupfile :...
...并自动重命名?(需要移动的目录已经有同名文件夹或文件)
/b') do (set b=%%~xi if not %%~nxi==%~nx0 (if exist %cd%\a\%%~nxi (ren "%%i" "new-%%~nxi"&&move new-%%~nxi %目录%) else (move %%i %目录 )))另存为Bat放在要移动的文件夹:移动当前所有文件,除开bat本身到目标目录,如果目标存在此文件,则改名为《new文件名》
...复制一个目录到另一个,另一个目录遇到同名的文件不替换,
xcopy "a:abc\*.*""c:\kaf" /n
用批处理比较两个目录,并把名字不同的文件存入另外一个目录
不需要比对文件属性, 只需要文件名对比就行. 要包括子目录.多谢!!是做一个批处理文件,运行批处理时copy一个文件到别的目录,,遇到重名文件自动改名。(小楼_春雨 - 进士出身 八级) 答的不错,但我要的是拷贝一个文件到别的目录,遇到重名文件自动改名。
使用批处理命令判断,如果有在同一文件夹下有两个同名文件,则后一...
个人认为加个时间戳是最可靠可行的办法,现有a.txt, 若文件包中已有a.txt 则命名a.txt 为 a_%data%_%time%.txt 这样保证了文件的唯一性,代码如下:echo off&setlocal enabledelayedexpansionset year=%date:~0,4%set month=%date:~5,2%set day=%date:~8,2%set hours=%time:~0,2%set ...