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

[文件操作] [已解决]批处理遍历文件夹名后的后续处理如何进行,如何可以只截断到文件名?

本帖最后由 playinthesky 于 2015-5-18 15:49 编辑

有文件夹A下面有

D:\A\1110-222-333-474
D:\A\1610-222-323-424
D:\A\1110-282-313-444
D:\A\1110-222-313-494
'''''
很多个
D:\A\1110-212-553-494

然后就这样,用DIR去翻找
  1. @echo off
  2. for /f "delims=" %%a in ('dir /b/s/a-d %~dp0\') do echo %%a >>1.txt
  3. pause
复制代码
将所有列出的文件夹的名字,存入1.txt

但是1.txt内的文件名是完整的路径

D:\A\1110-222-333-474
D:\A\1610-222-323-424
D:\A\1110-282-313-444
D:\A\1110-222-313-494
'''''
很多个
D:\A\1110-212-553-494

如何可以做到遍历之后,只留下的文件名是
1110-222-333-474
1610-222-323-424
1110-282-313-444
1110-222-313-494

不带前面的 D:\A\

然后在使用  批处理 ,读取 1.txt 的文件名目录

在D:\B\ 的目录下将

1110-222-333-474
1610-222-323-424
1110-282-313-444
1110-222-313-494
等相同名的文件给删除

del /s/q    %%a
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

我想出来了,
  1. @echo off
  2. for /f "delims=\ tokens=8" %%a in ('dir  /b/s/ad') do echo %%a >>1.txt
  3. pause
复制代码

TOP

问题是怎么读取1.txt的内容,然后删除。

TOP

本帖最后由 pcl_test 于 2015-5-18 14:50 编辑
  1. @echo off
  2. for /f %%a in ('dir /b/s/ad') do del "D:\B\%%~na.*" /f /q
  3. pause
复制代码

TOP

回复 4# pcl_test


    我讲错了,是文件夹的名!我再思考一下。谢谢大侠的提点,我修改一下标题。

TOP

  1. @echo off
  2. for /f "delims=" %%a in ('dir /b/ad d:\A') do xcopy /y  /e "d:\B\%%~na" "d:\A\%%~na" &&rd /s/q "d:\B\%%~na"
  3. pause
复制代码
求教MOVE "d:\B\%%~na" "d:\A\%%~na" 拒绝访问是什么原因

TOP

回复 5# playinthesky
del "D:\B\%%~na.*" /f /q改为rd "D:\B\%%~na" /s /q

TOP

按照你的思路:
  1. @echo off
  2. (for /f "delims=" %%i in ('dir /b /s /ad %%~dp0') do (
  3.     echo %%~nxi
  4. ))>1.txt
  5. for /f "delims=" %%i in (type "1.txt") do (
  6.     rd /s /q "D:\B\%%i"
  7. )
复制代码
简化:
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /s /ad %%~dp0') do (
  3.     rd /s /q "D:\B\%%~nxi"
  4. )
复制代码
1

评分人数

Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

回复 8# gawk


    你水平真高啊!!!

TOP

回复 8# gawk


    谢谢你。高手。

TOP

返回列表