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

[文件操作] 批处理如何删除无后辍名文件但不误删其他文件?

一串简单的命令,可以删除电脑里所有的文件,但突然,我发现,没有文件后辍名的文件怎么整?
  1. @echo off
  2. for /f %%j in (exe rar txt doc xls dll ) do (
  3. for /d %%i in (c d e f g h i j k ) do (del %%i:\*.%%j /f/s/q)
  4. )
复制代码

结果留下一堆没有后辍名的文件,如何在这样删除指定后辍名的文件的同时,删除掉无后辍名的文件呢?
我试了一下用通配符“*”,结果一个文件没剩下。@_@

  先删除指定后缀的文件,然后,dir列出所有的文件,再过滤掉哪些含有后缀的文件即可,演示如下(删除有风险,请注意备份数据):
  1. @echo off
  2. for %%i in (c d e f g h i j k) do (
  3.     for %%j in (exe rar txt doc xls dll) do del /f /q /s %%i:\*.%%j
  4.     for /f %%j in ('dir /a-d /b /s') do if "%%~xj"=="" del /f /q "%%j"
  5. )
  6. pause
复制代码
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

del "%%~dpi%%~ni" 2>nul

TOP

删除有风险,下手须谨慎。^_^
  1. @echo off
  2. for /d %%i in (c d e f g h i j k ) do (
  3. for /f %%j in (exe rar txt doc xls dll) do del "%%i:\*.%%j" /f/s/q
  4. del "%%i:\*." /f/s/q
  5. )
复制代码

[ 本帖最后由 yslyxqysl 于 2009-2-10 20:39 编辑 ]
1

评分人数

    • namejm: del语句够简洁!PB + 10

TOP

  删除无后缀文件用 del "*.",简洁!
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

是不是可以更简练些

  1. @echo off
  2. for %%i in (c d  e f j k) do (
  3.    if exist %%i: del /s /q /f %%i:\*>nul 2>nul
  4. )
复制代码

[ 本帖最后由 lvsehuaxue 于 2011-3-1 20:12 编辑 ]

TOP

我记得我曾经回过这个帖子吧,怎么回复消失了
(@for %%i in (*) do del /f %%~ni)>nul 2>nul

[ 本帖最后由 zm900612 于 2011-3-1 22:03 编辑 ]

TOP

全盘的话也可以:
(@for %%i in (c d e f g) do del /f /s %%i:\*.)>nul 2>nul

TOP

sorry,网络不好,发重了,本楼作废...

[ 本帖最后由 zm900612 于 2011-3-1 22:08 编辑 ]

TOP

返回列表