问题描述
制作一个简单的批处理脚本,为文件夹中的每个文件创建一个.sfv。我远非编码人员,但我从各个站点将其修补在一起并使其起作用:
for %%f in (*) do (cfv -C -f"%%f".sfv -tsfv "%%f")
问题是,如果我多次运行此批处理文件,则会再次检查现有文件,并创建一个单独的.sfv文件作为* .sfv.sfv
想知道,如果存在.sfv,如何编写它以忽略检查文件/写新的.sfv?谢谢!
编辑:我尝试了以下操作:
@echo off
@For /F "EOL=? Delims=" %%G In ('Dir /B /A:-D-S-L ^| "%__AppDir__%findstr.exe" /EILV ".sfv"') Do @If Not Exist "%%~nG.sfv" fsum -js "%%G" > "%%G.sfv"
在每次运行时不添加.sfv.sfv文件的工作非常出色,太好了!现在的问题是,脚本运行时必须读取每个文件,无论旁边是否有.sfv文件。
这里的想法是让脚本看到一个与原始文件具有相同文件名的sfv文件,如果存在.sfv文件,请完全跳过该文件并移至下一个文件,直到没有其他文件为止与之相关的.sfv。我知道把它写成单词并不容易,所以让我尝试举一个例子。
/parent directory/
linuxiso1.iso
linuxiso2.iso
linuxiso3.iso
*Cujo67 runs Batch.bat script*
/parent directory/
linuxiso1.iso
linuxiso1.sfv
linuxiso2.iso
linuxiso2.sfv
linuxiso3.iso
linuxiso3.sfv
使用当前代码,它必须处理每个.iso文件,然后查看目录中已经有一个.sfv并跳过该文件。想知道如何拥有此脚本,只要在.iso文件旁边已经存在与之对应的.sfv,就可以避免完全运行checksum命令。希望更清楚一点,谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)