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

[文件操作] 批处理BAT脚本怎么删除指定文件?

请教一下这个批处理文件怎么写
文件夹下有如下文件
    1.back
    1.back.1
    2.dat
    2.dat.1
    3.txt
    3.txt.1
    4.ini
    5.cfg
    6.xml
    6.xml.1
    .
    .
    .
前第一二三及第六种文件 都有相同的.1后缀,而第四第五种文件没得这个.1后缀
现在需要用处理批量删除1.back,2.dat,3.txt,6.xml
第四种第五种文件由于没有.1后缀,4.ini,5.cfg 要保留下来
1.back.1,2.dat.1,3.txt.1,6.xml.1要保留下来
最后所有保留得到的文件如下
    1.back.1
    2.dat.1
    3.txt.1
    4.ini
    5.cfg
    6.xml.1
    .
    .
    .

回复 6# qixiaobin0715


    嗯嗯,这样就可以了,太感谢了

TOP

回复 5# 阿一呐法
你表达的不是太清楚,将“%%~ni”改为“%%~dpni”试试。

TOP

回复 4# qixiaobin0715


怎么应用到子目录,我这样改,子目录没得反应
   for /f "delims=" %%i in ('dir /b/s /a-d *.1') do (
if exist "%%~ni" del "%%~ni"
)

TOP

有问题你就说撒也。

TOP

回复 2# qixiaobin0715


    之前测试了没反应,现在可以了,谢谢

TOP

本帖最后由 qixiaobin0715 于 2023-3-22 13:09 编辑

回复 1# 阿一呐法
好像开始代码中有错误,少了一个波浪号,现在可以试试修改后的代码:
  1. for /f "delims=" %%i in ('dir /b /a-d *.1') do (
  2. if exist "%%~ni" del "%%~ni"
  3. )
复制代码

TOP

返回列表