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

[文件操作] 把文件夹拖到批处理上,怎么实现查找此文件夹内有没有指定类型/后缀/扩展名的文件?

本帖最后由 pcl_test 于 2016-7-16 15:02 编辑

想知道某个文件夹内是否含有后缀名为*.psd文件,(把当前文件夹拖到批处理上)
自己就是做不出来,请大家看看那里出错啦
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION  
  3. set houzhui=.psd
  4. set pwd=%~dp0
  5. for /R "%pwd%" %%i in (*) do (
  6. set filename=%%~nxi
  7. call :check %%~xi
  8. )
  9. pause
  10. :check
  11. for %%i in (%houzhui%) do (
  12. if "%1"=="%%i" echo !filename! && echo ./find.sh !filename! >>LJ.txt
  13. )
  14. goto :eof
  15. pause
复制代码

把第三行多余的空格删掉,加上双引号,试试。
  1. set "houzhui=.psd"
复制代码

TOP

回复 2# DAIC


    试了在文件夹内运行可以  文件夹拖上不行

TOP

回复 3# zxcvvcvljf


第四行改成:
  1. set "pwd=%~dp1"
复制代码

TOP

回复 4# DAIC


    非常感谢DAIC 可以啦  谢谢

TOP

不过显示的是批处理所在目录的  不是我拖动目录的

TOP

本帖最后由 DAIC 于 2013-10-17 15:42 编辑

回复 6# zxcvvcvljf


第四行改成这样:
  1. set "pwd=%~f1"
复制代码

TOP

回复 7# DAIC


    可以啦 万分感谢

TOP

回复 8# zxcvvcvljf


    再请教老师  没有*.psd时候能不能加上提示

TOP

回复 9# zxcvvcvljf
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "houzhui=.psd"
  4. set "pwd=%~dp1"
  5. for /r "%pwd%" %%i in (*) do (
  6.     set "fileName=%%~nxi"
  7.     set "fileExt=%%~xi"
  8.     if "!fileExt!" neq "%houzhui%" (
  9.         echo 没有 psd 文件
  10.         goto :end
  11.     )
  12.     call :check %%~xi
  13. )
  14. :end
  15. pause
  16. goto :eof
  17. :check
  18. for %%i in (%houzhui%) do (
  19.     if "%1"=="%%i" (
  20.         echo !fileName!
  21.         >>LJ.txt echo ./find.sh !fileName!
  22.     )
  23. )
  24. goto :eof
复制代码

TOP

返回列表