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

[文本处理] 【已解决】BAT:如何批量删除不同文件夹内相同名称的txt文本

[复制链接]
发表于 2014-8-30 02:04:36 | 显示全部楼层 |阅读模式
本帖最后由 思想之翼 于 2014-8-30 12:23 编辑

文件夹d:\文本\文本1\001\lishi\
文件夹d:\文本\文本1\002\lishi\
...
文件夹d:\文本\文本1\210\lishi\
——————————————
文件夹d:\文本\文本2\001\lishi\
文件夹d:\文本\文本2\002\lishi\
...
文件夹d:\文本\文本2\210\lishi\
——————————————
上述lishi文件夹内各有若干txt文本,名称格式为:
文件1-90克-温湿度
文件40-90克-温湿度
文件502-90克-温湿度
文件1000-90克-温湿度

欲:
在 d:\文本\文本2\001\lishi\内  删除 与d:\文本\文本1\001\lishi\内相同名称的txt文本
在 d:\文本\文本2\002\lishi\内  删除 与d:\文本\文本1\002\lishi\内相同名称的txt文本
...
在 d:\文本\文本2\210\lishi\内  删除 与d:\文本\文本1\210\lishi\内相同名称的txt文本
发表于 2014-8-30 10:28:31 | 显示全部楼层
本帖最后由 apang 于 2014-8-30 10:32 编辑

测试后确认没有问题再删掉第6行的 echo
  1. @echo off & setlocal enabledelayedexpansion
  2. set "re=\\lishi\\文件[1-9][0-9]*[^\\]*\.txt"
  3. pushd "D:\文本\文本1"
  4. (for /f "delims=" %%a in ('dir /a-d/b/s^|findstr /ie "%re%"') do (
  5.     set "file=%%a"
  6.     echo del "!file:D:\文本\文本1\=D:\文本\文本2\!"
  7. )) 2>nul
  8. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 解决问题了。感谢分享!

查看全部评分

发表于 2014-8-30 10:36:52 | 显示全部楼层
为何$都变成$$了呢?论坛升级了吗?
测试:
set "re=abc$"
  1. set "re=abc$$"
复制代码
发表于 2014-8-31 02:12:49 | 显示全部楼层
回复 3# apang


    我也试试
set "re=abc$"
  1. set "re=abc$"
复制代码
你是什么浏览器
发表于 2014-8-31 14:58:57 | 显示全部楼层
回复 4# CrLf


    win7 sp1 + ie8
wuyou论坛有过反馈,不过很少人关注。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 03:52 , Processed in 0.031652 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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