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

[文件操作] 批处理怎么删除指定文件(没有后缀名)?

我有文件的路径,例如:C:\a\b\c
注意c是一个没有后缀名的文件
我有个文件清单(200多个要删除)
del C:\a\b\c
C:\a\b\下有的不止一个文件
所以还是得精确删除
只是系统会默认c为文件夹……

C:\a\b\ 文件夹下运行
为防误删 请备份文件夹后运行
  1. for %%i in (*.) do del "%%i"
复制代码

TOP

回复 2# terse


    感谢回复,可是我有200多个不同路径……请教有没有更好的方法

TOP

如图,情况这样的,部署了火绒企业版
他是把补丁文件命名为sha-1值(没有后缀名)
然后一些补丁终端打不上去
后来发现是文件不完整造成的(就是sha-1值不对)
我现在通过各种方法弄到了这些错误sha-1值的文件的路径清单
现在就是怎么把这些文件一次性删掉的问题

TOP

本帖最后由 qixiaobin0715 于 2021-1-10 08:08 编辑

回复 4# rpg2813
将文件清单存为编码ANSI的a.txt文件,与下面的bat代码放在同一个文件夹:
  1. echo off
  2. for /f "delims=" %%a in (a.txt) do (
  3.     for %%i in ("%%a") do del /a/f %%i
  4. )
  5. pause
复制代码

TOP

回复 5# qixiaobin0715


    感谢,火绒工程师在排查这个问题,因为正常来说用工具下载以及同步到服务器是经过sha-1值校验的
呃,他们希望我把这些文件单独保存一下……
就是把这些文件复制(剪切)到一个新的文件夹就好

TOP

还有如果对a.txt的列表排除删除(就是除了这些清单的删除)又是怎么弄?

TOP

本帖最后由 qixiaobin0715 于 2021-1-9 16:00 编辑
  1. @echo off
  2. md C:\folder1
  3. for /f "delims=" %%a in (a.txt) do (
  4.     for %%i in ("%%a") do move "%%i" "C:\folder1"
  5. )
  6. pause
复制代码
回复 7# rpg2813

TOP

回复 5# qixiaobin0715


    代码不知道哪里不对,就是那个40位数字的是文件,批处理总把其认为是路径

TOP

回复 3# rpg2813
试一下加个R参数  搜索子目录

TOP

回复 10# terse


    怎么加……

TOP

看显示的是否是你想得到的文件 如果可以去掉第二行ECHO
另外 判断目录应该可以的吧 IF EXIST C:\A\B\C\
  1. @echo off
  2. for /r %%i in (*.) do echo del "%%i"
  3. pause
复制代码
回复 11# rpg2813

TOP

回复 9# rpg2813
我觉得是你的文件属性问题,用强制删除del /a/f。5楼代码再试试。

TOP

回复 6# rpg2813
你的文件可能是只读属性,如果要单独保存,将8楼代码的move改为copy试试;如果要move的话,要在move前修改文件属性,加一条attribute -r

TOP

本帖最后由 rpg2813 于 2021-1-10 19:14 编辑

回复 14# qixiaobin0715


    5楼的代码执行起来没有效果,加了13楼代码

提示:系统找不到指定的路径
还是把那个40位的东西当做了文件夹,而不是文件,文件我也看了,不是只读的


8楼的代码执行提示,命令语法不正确

我在服务器操作的,和这没关系吧?2012系统

TOP

返回列表