Board logo

标题: [文件操作] 求助批处理保留指定文件,删除其他文件及文件夹。 [打印本页]

作者: fyngd    时间: 2022-1-18 21:30     标题: 求助批处理保留指定文件,删除其他文件及文件夹。

A目录,B目录,想保留其中的 _info.txt 文件,然后删除此根目录和子目录中的所有文件和文件夹,请高手出招。
作者: Batcher    时间: 2022-1-18 21:49

回复 1# fyngd


请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
  1. @echo off
  2. cd /d "%~dp0"
  3. for %%a in (A B) do (
  4.     echo 正在处理文件夹:%%a
  5.     if exist "%%a\" (
  6.         pushd "%%a"
  7.         for /f "delims=" %%i in ('dir /b /ad') do (
  8.             rd /s /q "%%i"
  9.         )
  10.         for /f "delims=" %%i in ('dir /b /a-d ^| findstr /v /x /c:"_info.txt"') do (
  11.             del /f /q "%%i"
  12.         )
  13.         popd
  14.     )
  15. )
复制代码

作者: fyngd    时间: 2022-1-18 22:02

回复 2# Batcher


感谢管理员,怪我没表达清楚让您费心了,我是想能够添加路径,然后保留里面的 _info.txt 文件,删除定义路径下其他所有文件和文件夹。如下,谢谢!

\\DS918\roms\gba
\\DS918\roms\gbc
作者: Batcher    时间: 2022-1-19 13:28

回复 3# fyngd
  1. @echo off
  2. set "Folder1=\\DS918\roms\gba"
  3. set "Folder2=\\DS918\roms\gbc"
  4. for %%a in ("%Folder1%" "%Folder2%") do (
  5.     echo 正在处理文件夹:%%a
  6.     if exist "%%~a\" (
  7.         pushd "%%~a"
  8.         for /f "delims=" %%i in ('dir /b /ad') do (
  9.             rd /s /q "%%i"
  10.         )
  11.         for /f "delims=" %%i in ('dir /b /a-d ^| findstr /v /x /c:"_info.txt"') do (
  12.             del /f /q "%%i"
  13.         )
  14.         popd
  15.     )
  16. )
复制代码





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