Board logo

标题: [文件操作] 批处理如何删除和移动文件? [打印本页]

作者: swanseabrian    时间: 2021-9-20 12:07     标题: 批处理如何删除和移动文件?

遍历 a b c d e 文件夹下的文本文件(不包括子文件夹),并删除

然后把 a b c d e 文件夹下的子文件夹的文件复制到 abcde文件夹里,

并,删除子文件夹

这个要怎么操作,以前都是遍历全部,这种不会了
谢谢
作者: qixiaobin0715    时间: 2021-9-20 14:39

回复 1# swanseabrian
全部是文本文件是吧,表达的还是不太清晰。只有按自己的理解写代码了:
  1. @echo off
  2. for /d %%i in (*) do (
  3.     pushd "%%i"
  4.     del *.txt
  5.     for /d %%j in (*) do (
  6.         move "%%j\*.txt"
  7.         rd /a /f /s "%%j"
  8.     )
  9.     popd
  10. )
  11. pause
复制代码

作者: swanseabrian    时间: 2021-9-20 15:01

回复 2# qixiaobin0715

差不多,就是这个move 是move到哪里去了,是move到上一层文件夹了吗
作者: Fit    时间: 2021-9-20 16:08

@echo off&setlocal enabledelayedexpansion
for %%i in (a b c d e) do (
for %%j in (%%i\*.*) do del "%%j" /f /s /q>nul
)
for %%i in (a b c d e) do (
call:ffor "%%i\"
rd %cd%\%%i /Q /s
echo ---
)
pause&exit
:ffor
for /r %1 %%j in (*.*) do (
move %%j abcde\
)
goto:eof
作者: qixiaobin0715    时间: 2021-9-20 17:56

回复 3# swanseabrian
a文件夹的子文件夹中的文件移到a文件夹中;
b文件夹的子文件夹中的文件移到b文件夹中;
.......
作者: Batcher    时间: 2021-9-20 22:49

回复 4# Fit


    del命令为何要使用 /s 参数呢?
作者: Fit    时间: 2021-9-21 08:06

del /q就够了
作者: hztccy    时间: 2021-9-27 11:21

意思是删除abcde根目录下的文本文件,子目录的不删除对吗?然后把子目录迁移到新的abcde对吗?
作者: hztccy    时间: 2021-9-27 11:58

  1. echo of
  2. dir /b *.txt>123.txt
  3. set "hangtou=del /q"
  4. set "hangtou1=%~dp0"
  5. for /f "tokens=*" %%i in (123.txt) do ( >>123new.bat echo %hangtou% %hangtou1%%%i)
  6. call 123new.bat
  7. robocopy "%~dp0\" "D:\abcde" /mov /s
  8. pause
复制代码
按我的理解写的
看看这样如何。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2