将文件转移到一个文件夹内bat

将文件转移到一个文件夹内bat

1.将本目录下的文件夹中的文件全部移动到本目录下    mergeFolders.bat

1
2
3
4
5
6
@echo off
for /d %%i in (*) do (
  pushd "%%i"
  move *.* ..
  popd
)

  

2.将本目录下的文件夹中的文件全部移动到本目录下,包括文件夹中的子文件夹中的内容

复制代码
@echo off
setlocal enabledelayedexpansion

for /r %%f in (*) do (
if "%%~dpf" neq "%cd%" (
move "%%f" "%cd%"
)
)

endlocal
复制代码

 

3.bat将文件夹中重名的文件,移动的到当前目录下面,不会覆盖,会对相同的文件的名字前面添加序号

复制代码
@echo off
setlocal enabledelayedexpansion

rem 获取当前目录路径
set "current_folder=%CD%"
set "counter=1"

rem 遍历当前目录中的子文件夹
for /d %%i in ("%current_folder%\*") do (
  rem 获取子文件夹中的所有文件
  for %%j in ("%%i\*") do (
    rem 构建目标文件名(在原始文件名前面加上递增的编号并保留原文件名及其后缀名)
    set "target_filename=!current_folder!\!counter!.%%~nxj"
     
    rem 移动文件
    move "%%j" "!target_filename!"
     
    rem 递增计数器
    set /a "counter+=1"
  )
)
复制代码

 

posted @   莫小龙  阅读(411)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示