gpt4 book ai didi

batch-file - 使用 Windows ren 命令删除 !从文件名

转载 作者:行者123 更新时间:2023-12-04 01:59:24 25 4
gpt4 key购买 nike

我有一堆格式如下的文件

filename-!#.ext

其中 # 是一个递增的数字,以防止冲突。我只想删除!从文件名,所以它读为
filename-#.ext

似乎我可以使用 ren 命令和通配符来做到这一点,但很难让它工作。我试着运行这个:
ren *!?.ext *?.ext

我的想法是 * 应该匹配文件名部分,然后是!,然后是?为数字。但是,生成的文件被命名为:
filename-!#.ext.ext

我不知道为什么。

文件名部分可以是动态的,但不包含任何!有任何想法吗?

最佳答案

根据您提供的信息,只是为了提供一些不同的东西,您可以让延迟扩展为您完成工作,(因为它会为您删除不需要的感叹号)。!

@For %%A In ("*-!?.ext") Do @Set "_=%%A" & SetLocal EnableDelayedExpansion & Ren "!_!" "%%A" & EndLocal

您也可以使用嵌套的 for 循环来做到这一点:

@For %%A In ("*-!?.ext") Do @For /F "Tokens=1*Delims=!" %%B In ("%%A") Do @Ren "%%A" "%%B%%C"

…并从命令提示符中:

For %A In ("*-!?.ext") Do @For /F "Tokens=1*Delims=!" %B In ("%A") Do @Ren "%A" "%B%C"

关于batch-file - 使用 Windows ren 命令删除 !从文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51861296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com