标题: [文本处理] 批处理如何判断文件夹内是否有我要的文件? [打印本页]
作者: norno 时间: 2012-4-12 13:31 标题: 批处理如何判断文件夹内是否有我要的文件?
我有一個p(PurgeSubs.bat),它的主要功能是,
在資料夾按右鍵,會出現這個選項,點擊後會call purge.bat
並依照purge.bat的內容來刪檔。
現在我想成如下的功能:
它會优先判斷是否有副檔名為 prt.* 的存在(這是pro/e所產生的副檔名 例:123.prt.1 456.prt.25)
如果有它會根據 list.txt 裡的副檔名,來刪除指定資料夾裡的檔案。
如果沒有副檔名為 prt.* 的存在
它會提示是否要繼續刪除的動作。
請幫忙,謝謝
附上原code
PurgeSubs.bat- @echo off
- cls
- title Purge Subs
-
-
- if !%1==! goto nopath
- if not exist %1*.* goto badpath
-
- :start
- title Purge Subs from %1
- call :subpurge %1
- FOR /D /R %%a IN (*.*) do call :subpurge "%%a"
- goto complete
-
- :subpurge
- echo del old version start
- echo Purging directory is
- echo %1
- cd "%1"
- call purge.bat
- goto :EOF
-
- :nopath
- echo.
- echo ERROR - No path provided....
- echo.
- echo You must provide a path when calling %0
- goto complete
-
- :badpath
- echo.
- echo ERROR - "%1" is not a valid path....
- echo.
- echo You must provide a valid path when calling %0
- goto complete
-
- :complete
- echo.
- pause
- exit
复制代码
purge.bat- @echo off
-
- D:\purge\purge.exe %1 %2 %3 %4 %5
-
- del *.ig*
- del *.rp*
- del *.SLD*
-
- exit /B %ERRORLEVEL%
复制代码
作者: gawk 时间: 2012-4-12 22:18
- @echo off
- dir /b | find ".prt." >nul 2>&1 && goto :Exist || goto :NotExist
-
- :Exist
- for /f "delims=" %%a in (list.txt) do (
- del /f /q "%%a"
- )
- goto :end
-
- :NotExist
- set input=n
- set /p input=是否继续删除(y/n)?
- if "%input%" neq "y" (
- goto :end
- )
- del *.ig*
- del *.rp*
- del *.SLD*
-
- :end
- pause
复制代码
作者: norno 时间: 2012-4-12 22:52
回复 3# gawk
先謝謝你的幫忙,但是執行後,出現
'input' 不是內部或外部命令、可執行的程式批次檔。
可否再幫看一下。
作者: gawk 时间: 2012-4-12 22:56
回复 4# norno
把@echo off删掉,看看是哪一行在报错。
作者: norno 时间: 2012-4-12 23:07
回复 5# gawk
執行時,如下圖
作者: gawk 时间: 2012-4-12 23:10
回复 6# norno
你抄代码的时候是不是把input前面的set /p漏掉了?
作者: norno 时间: 2012-4-12 23:33
回复 7# gawk
抱歉,我漏了一個括號,
但是執行結果,還是不行。
作者: gawk 时间: 2012-4-13 22:22
回复 8# norno
看不懂你的图想说明什么,你直接说哪里不行吧。
作者: norno 时间: 2012-4-14 01:58
回复 9# gawk
我按了"y"
依然無法刪檔。
作者: gawk 时间: 2012-4-14 02:11
回复 10# norno
那说明你的del命令写错了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |