批量比较两个文件名的中间部分以执行某些操作(如果它们不同)



我正在尝试隔离ipsw文件名中的版本号。

下面提交的另一个代码运行良好,但不适用于:iPhone_5.5_P3_14.1_18A8395_存储

我需要隔离";14.1〃;而不会意外地隔离";5.5〃;。

开头一段中的信息表明,你还没有找到用模式/glob在目录中搜索文件并隔离其中一部分的例子。IMO,仅在批处理文件标签下,这个网站就已经报道了数千次。不过,这里有一些示例代码可以帮助您。

如果我猜错了,请记得先调整2线上的路径%AppData%Apple ComputeriTunesiPhone Software Updates

@For /F Tokens^=1-4^ Delims^=_^ EOL^= %%G In ('Dir /B /A:-D^
"%AppData%Apple ComputeriTunesiPhone Software UpdatesiPhone*,?_*.?.?_*_Restore.ipsw"'
) Do @For /F Tokens^=1-3^ Delims^=.^ EOL^= %%K In ("%%H") Do @Echo Token1=%%G:Token2=%%H^
:NestedToken1=%%K:NestedToken2=%%L:NestedToken3=%%M^
:Token3=%%I:Token4=%%J^
:Token4Name=%%~nJ:Token4Extension=%%~xJ
@Pause

你也可以把它作为一个单一的,难以阅读,行,如果你喜欢:

@(For /F Tokens^=1-4^ Delims^=_^ EOL^= %%G In ('Dir /B /A:-D "%AppData%Apple ComputeriTunesiPhone Software UpdatesiPhone*,?_*.?.?_*_Restore.ipsw"') Do @For /F Tokens^=1-3^ Delims^=.^ EOL^= %%K In ("%%H") Do @Echo Token1=%%G:Token2=%%H:NestedToken1=%%K:NestedToken2=%%L:NestedToken3=%%M:Token3=%%I:Token4=%%J:Token4Name=%%~nJ:Token4Extension=%%~xJ)&Pause

最新更新