找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22008|回复: 8

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

[复制链接]
发表于 2021-9-20 12:07:41 | 显示全部楼层 |阅读模式
遍历 a b c d e 文件夹下的文本文件(不包括子文件夹),并删除

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

并,删除子文件夹

这个要怎么操作,以前都是遍历全部,这种不会了
谢谢
发表于 2021-9-20 14:39:22 | 显示全部楼层
回复 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
复制代码
 楼主| 发表于 2021-9-20 15:01:37 | 显示全部楼层
回复 2# qixiaobin0715

差不多,就是这个move 是move到哪里去了,是move到上一层文件夹了吗
发表于 2021-9-20 16:08:19 | 显示全部楼层
@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
发表于 2021-9-20 17:56:41 | 显示全部楼层
回复 3# swanseabrian
a文件夹的子文件夹中的文件移到a文件夹中;
b文件夹的子文件夹中的文件移到b文件夹中;
.......
发表于 2021-9-20 22:49:56 | 显示全部楼层
回复 4# Fit


    del命令为何要使用 /s 参数呢?
发表于 2021-9-21 08:06:24 | 显示全部楼层
del /q就够了
发表于 2021-9-27 11:21:25 | 显示全部楼层
意思是删除abcde根目录下的文本文件,子目录的不删除对吗?然后把子目录迁移到新的abcde对吗?
发表于 2021-9-27 11:58:38 | 显示全部楼层

  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
复制代码
按我的理解写的
看看这样如何。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 01:45 , Processed in 0.031654 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表