Board logo

标题: [文件操作] 批处理如何删除同名文件? [打印本页]

作者: wucnu    时间: 2012-9-10 23:41     标题: 批处理如何删除同名文件?

一个文件夹中有TIF与JPG两个子文件夹里面分别有.TIF文件与.JPG文件,问题是怎么删除tif文件夹中与jpg文件名同样的文件。

如TIF文件夹中有01.TIF 02.TIF 03.TIF...06.TIF.............JPG文件夹中有01.JPG  03.JPG  06.JPG..................

也就是想把TIF文件夹中01.TIF  03.TIF  06.TIF......用批处理删除,要怎么做才可以呢

请大侠帮帮忙啊~~~
作者: Demon    时间: 2012-9-10 23:50

  1. @echo off
  2. for %%i in (JPG\*.JPG) do del TIF\%%~ni.TIF
  3. pause
复制代码

作者: Bearxy    时间: 2012-9-11 08:43

本帖最后由 Bearxy 于 2012-9-11 08:45 编辑

回复 2# Demon

我一直不理解,既然你前面的%%a都已经赋值为“JPG\*.jpg” (JPG目录下的所有.jpg文件),那么在后面的括号中,为什么要把%%a扩展成%%~ na ? 前面赋值的时候不是已经有jpg后缀了吗?
那解析del TIF\%%~ni.TIF 不就是 del tif\*.jpg.tif
作者: Demon    时间: 2012-9-11 09:39

回复  Demon

我一直不理解,既然你前面的%%a都已经赋值为“JPG\*.jpg” (JPG目录下的所有.jpg文件), ...
Bearxy 发表于 2012-9-11 08:43


先测试再评论好么。
作者: Bearxy    时间: 2012-9-11 11:46

有1.2.3.4.5....7.jpg文件
  1. @echo off
  2. for %%i in (*.JPG) do (
  3. echo.&echo %%i
  4. echo.%%~ni.TIF
  5. )
  6. pause
复制代码
输出结果为:
  1. 1.jpg
  2. 1.TIF
  3. 2.jpg
  4. 2.TIF
  5. 3.jpg
  6. 3.TIF
  7. 4.jpg
  8. 4.TIF
  9. 5.jpg
  10. 5.TIF
  11. 6.jpg
  12. 6.TIF
  13. 7.jpg
  14. 7.TIF
复制代码
悲催啊,我以前全是用tokens delims=.来取文件名……




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