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


dir /s/b/aa *.jpg
列出当前文件夹下的所有jgp格式的文件,包括子目录中的文件

你再详细说明一下你的问题。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

回复 10# awei
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /s/b/ad') do (
  4.     pushd "%%~fsi"&call :a "*.jpg*" "*.bmp*"
  5. )
  6. pause&exit
  7. :a
  8. if not "%~1"=="" (
  9.     shift
  10.     for /f "tokens=*" %%a in ('dir /b/a-d/o-d %~1') do (
  11.                 set/a n+=1
  12.                 if not !n! equ 1 del /q "%%~fsa"
  13.                 )
  14.     set "n="
  15.     goto :a
  16.         ) else (
  17.     goto :eof
  18. )
复制代码
删除除最新生成文件以外的所有文件, 你可以先试用一下,我这里测试可以。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

回复 15# awei [/b

嗯嗯,那么就需要检测当前文件夹下共有哪种格式的文件了,不过,你的这个文件名后缀并不合法;
建议你这样,如果文件夹下的几种格式不是特别多,能够列出来的话
比如  *.jpg* *.bmp* *.gif* 等。
你看到上面发的那串代码了吗
你只要在:
  1. pushd "%%~fsi"&call :a "*.jpg*" "*.bmp*" "*.gif*"
复制代码
添加你想要删除的扩展名格式就行了。注意,中间有一个空格,你可以测试一下,应该会符合的你的要求。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

返回列表