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

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

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

@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 @ 2024-07-01 09:57  莫小龙  阅读(14)  评论(0编辑  收藏  举报