如何将路径子集替换为cmd批处理文件中的另一个路径?

时间:2013-02-12 13:18:15

标签: batch-file cmd

如果我有路径 C:\folder1\folder2\folder3\keyfolder\folder4\file.ext和字符串keyfolder对应于路径中的一个子文件夹,如何在keyfolder字符串之前更改路径根,以获得{{1}的结果}?基本上我要做的是将文件的文件夹结构更改为C:\newfolder1\newfolder2\keyfolder\folder4\file.ext文件夹。

keyfolder

现在我只需将SET OLD=C:\folder1\folder2\folder3\keyfolder\folder4\file.ext SET KEY=keyfolder SET NEW=C:\newfolder1\newfolder2 替换为OLD,直到NEW

谢谢!

安德鲁

1 个答案:

答案 0 :(得分:1)

只要密钥文件夹名称不包含=,就可以使用。

@echo off
setlocal enableDelayedExpansion
set "OLD=C:\folder1\folder2\folder3\keyfolder\folder4\file.ext"
set "KEY=keyfolder"
set "NEW=C:\newfolder1\newfolder2"

set "MOD=%NEW%\%KEY%\!OLD:*\%KEY%\=!"
echo MOD=!MOD!