我正在编写用于自动部署的脚本,我需要用相同的文件名替换我的文件。
例如,我当前目录中有以下文件
deployment.properties
wrapper.conf
config.properties
稍后,我将生成另一组这样的文件
deployment.properties.tokenized
wrapper.conf.tokenized
config.properties.tokenized
最后,我想使用 *.tokenized 版本替换现有的配置文件(在第一个代码块中)并删除标记化的文件。
在 Linux 中,以下可以完成这项工作。但我不知道在 Windows 中如何操作
for f in *tokenized;
do mv "$f" "`echo $f | sed s/tokenized//`";
done
我尝试使用 powershell 的 move-item、rename-item 但仍然无法找到正确的方法。有人可以帮忙吗?bat / powershell 脚本都受欢迎。使用循环也可以。谢谢你。
它几乎是相同的代码,但cmd / batch files
我们可以访问文件名的元素。
从命令行
for %a in (*.tokenized) do move /y "%a" "%~na"
或者,对于批处理文件(您需要转义for
可替换参数)
for %%a in (*.tokenized) do move /y "%%a" "%%~na"
由于文件的扩展名(最后一个点之后的文本)是.tokenized
,因此当您仅请求所引用文件的名称(不带扩展名)时 ( %%~na
),您将获得原始文件名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句