如何用批处理移动文件夹或文件并自动重命名?(需要移动的目录已经有同名文件夹或文件)

如何用批处理移动文件夹或文件并自动重命名?(需要移动的目录已经有同名的文件夹或文件)

@echo off
setlocal enabledelayedexpansion
set /p 目录=请选择移动到哪目录:
for /f %%i in ('dir /a-d /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文件名》追问

您好,比如要把一个名字为123的文件夹移动到一个叫456的文件夹,456文件夹已经有一个123文件夹,该怎么做?

追答

代码里不是有判断么,如果存在相同文件则把自己改成new-文件名
if exist %cd%\a\%%~nxi (ren "%%i" "new-%%~nxi"&&move new-%%~nxi %目录%
)

意思:如果存在同名文件,则把自己改名为new-文件名,再移到目标目录去
exist是存在的意思,后面接路径和文件,和if一起表示是否存在此文件,第一个括号里表示 存在则干嘛,else 后面括号里表示不存在则干嘛

温馨提示:内容为网友见解,仅供参考
无其他回答

如何用批处理移动文件夹或文件并自动重命名?(需要移动的目录已经有同...
if exist %cd%\\a\\%%~nxi (ren "%%i" "new-%%~nxi"&&move new-%%~nxi %目录%) else (move %%i %目录 )))另存为Bat放在要移动的文件夹:移动当前所有文件,除开bat本身到目标目录,如果目标存在此文件,则改名为《new文件名》

批处理复制文件至指定文件夹,并自动重命名。
1、在电脑上新建一个文件夹,新建一个“TXT”文件,并命名。2、点击右键,把文件的后缀名设置为“.bat”。3、右键打开文件,第一行输入“copy C:\\Users\\Administrator\\Desktop\\西游记\\1.JPG C:\\”。4、第二行输入“pause”。5、保存后关闭,双击文件弹出“DOS”界面。6、即可看到C盘下已经复制了...

如何用批处理移动文件及文件夹?
要用批处理移动文件及文件夹,可以使用Windows命令行中的`move`命令。首先,打开命令提示符。这可以通过在Windows搜索栏中输入“cmd”并回车,或者通过快捷键Win + R打开运行窗口,输入“cmd”并回车来实现。在命令提示符中,使用`move`命令可以移动文件或文件夹。`move`命令的基本...

如何使用批处理拖动文件夹,然后复制某指定文件到该文件夹下并自动重...
echo off & title 拷贝指定文件到指定目录中,并重命名为该文件夹名 By 依梦琴瑶 ::预设指定文件 set File=E:\\1.txt if \/i "%~1"=="" (echo 请不要直接双击运行此脚本,而是拖动文件夹到此脚本文件图标上。set Sec=4 goto End )dir \/ad "%~1" >nul 2>nul || (echo 请拖动文件...

如何用批处理移动文件及文件夹?
1、在Windows资源管理器文件窗口中,先把这些文件选中(按住Ctrl键+鼠标点选),然后右键菜单中的重命名,输入名称后,鼠标点击空白处,这些同名文件就自动带上从0到n的编号了。2、在bat批处理命令中,可以只用移动指令来实现创建文件夹并把目标文件移动到创建的文件夹中。3、建一个批处理文件(文件名....

批量复制文件到同名文件夹下,如果有重名的自动重命名
1、首先复制第一个文件到此文件夹。2、复制第二个文件到此文件夹,系统会自动给出提示,如图:3、选择“复制,但保留这两个文件”。则第二个被复制过去的文件自动被系统命名为“文件名(2)”以示与第一个文件的区别。4、同理,复制同文件名的第三个文件,第四个文件等等,都会自动重命名为“...

...要求复制所有文件及目录,若重名自动重命名!
现在流行autoit自动化脚本 写个给你看看吧 include <File.au3> src = "d:\\a"tag = "d:\\b"n = 0;src_list = _FileListToArray($src, "*")For $i = 1 To $src_list[0]If FileExists($tag & "\\" & $src_list[$i]) Then n += 1 If StringInStr(FileGetAttrib($src & ...

批处理复制文件至指定文件夹并自动重命名
在Windows环境下,可以使用批处理脚本来实现文件的复制与自动重命名。以下是一个简单的批处理脚本示例,该脚本将指定文件夹(例如`C:\\SourceFolder`)中的所有文件复制到另一个文件夹(例如`C:\\DestinationFolder`),并在复制过程中自动为每个文件添加前缀(如`Copy_`)进行重命名,以避免名称冲突。```...

如何批量重命名文件名和文件夹?
步骤1、新建一个文本文档(txt格式)步骤2、打开输入以下内容 “dir\/b>1111.xls”注意不要引号,然后点选另存为,“文件名”栏改为“提取文件名.bat”注意要去掉txt后缀,文件类型改为所有,即可。步骤3、复制到任何需要生成目录的文件夹 步骤4、双击运行 注意:喜欢生成文本文件的用“.txt”。笔者...

如何批量把多个文件夹内容合并到一个文件夹下,并自动重命名名称...
1、首先将想要合并的文件夹装到一个文件夹中。然后在该文件夹中新建一个文件夹和txt文件,均命名为all。2、然后双击打开文本文档,在编辑页面中键入下方的代码:for \/f "delims=" %%p in ('dir \/b\/ad') do copy %%p\\*.* d:\\txt\\all\\ pause,然后保存该文件。3、然后右键单击文本文档,选择...

相似回答