[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何删除和移动文件?

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

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

并,删除子文件夹

这个要怎么操作,以前都是遍历全部,这种不会了
谢谢

  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
复制代码
按我的理解写的
看看这样如何。

TOP

意思是删除abcde根目录下的文本文件,子目录的不删除对吗?然后把子目录迁移到新的abcde对吗?

TOP

del /q就够了
Fit Strong

TOP

回复 4# Fit


    del命令为何要使用 /s 参数呢?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 3# swanseabrian
a文件夹的子文件夹中的文件移到a文件夹中;
b文件夹的子文件夹中的文件移到b文件夹中;
.......

TOP

@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

TOP

回复 2# qixiaobin0715

差不多,就是这个move 是move到哪里去了,是move到上一层文件夹了吗

TOP

回复 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
复制代码

TOP

返回列表