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

[文件操作] [已解决]批处理命令for /r 参数能跨盘符操作吗?

本帖最后由 peterwu999 于 2013-2-23 20:34 编辑

我的机器分割为C: D: E: F:,
为了想要同时删除不要的文件*.torrent,
写了代码如下:
  1. for %%a in (c: d: e: f:) do (
  2.     for /f "tokens=*" %%h in ('"dir /b /s /a-d %%a\*.torrent"') do (
  3.     @del /a /f /q "%%h"
  4.     )
  5. )
  6. pause
复制代码
上面的代码基本操作没有问题,
但是遇到日文资料夹路径会变成乱码,
该资料夹底下的文件就无法删除,
想了很久,
想到用for /r 到每个资料夹底下直接删除,
于是写了
  1. for /r "f:" %%a in (.) do del /a /f /q "%%a"\*.torrent
复制代码
这个代码能对付日文资料夹运作正常,
美中不足的是4个盘符需要执行4次,
期间我也尝试过复合指令,
  1. for %%a in (c: d: e: f:) do (
  2.         for /r "%%a" %%h in (.) do del /p %%h\*.torrent
  3. )
复制代码
尝试再简化,
可是盘符都无法顺利代入第2条,
碍于功力不足,
在最后的简化部分脑子已经打结了好几天都转不出来,
所以厚颜来此求助,
希望版上高手先进能指点一下,
若有其它方式可达到同样目的也请不吝分享,
毕竟解决这种小问题是其次,
能够学习进步才是主旨,
在此祝各位版友新年快乐万事如意。
1

评分人数

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

回复 2# Foxie


不过我目前机器的设置并无法改成其它编码,
所以还是要找寻其它的解决方式,
你的方法我会找其它的机器学习看看,
多谢指教!

TOP

多谢以上各位先进热心的指导!

TOP

返回列表