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

Batch file 如何用cmd批处理文件中的另一个路径替换路径子集?,batch-file,cmd,Batch File,Cmd,如果我有一条路 C:\folder1\folder2\folder3\keyfolder\folder4\file.ext和对应于路径中的一个子文件夹的字符串keyfolder,如何更改路径根直到keyfolder字符串产生C:\newfolder1\newfolder2\keyfolder\folder4\file.ext?基本上,我要做的是更改文件的文件夹结构,直到出现keyfolder文件夹 SET OLD=C:\folder1\folder2\folder3\keyfolder\fold

如果我有一条路
C:\folder1\folder2\folder3\keyfolder\folder4\file.ext
和对应于路径中的一个子文件夹的字符串
keyfolder
,如何更改路径根直到
keyfolder
字符串产生
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
现在我只需要将
旧的
替换为
新的
,直到

谢谢大家!


Andrew

只要keyfolder名称不包含
=
,此选项就可以使用

@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!

你知道如何搜索字符串吗?你试过什么?看@Floris链接帮助加载,我设法找到了答案,谢谢!伟大的你为什么不把你的发现加起来作为答案呢?这将在将来帮助其他有类似问题的人。这就是我们如何帮助别人,使自己尽可能做到最好。。。