Batch file 从批处理中的字符串获取路径

Batch file 从批处理中的字符串获取路径,batch-file,Batch File,我希望通过以下方式批量解析字符串: 假设我将此路径作为一个字符串进行批处理: C:\ProgramFiles\Microsoft\Test 我希望从此字符串中删除给定字符串。例如,如果我将其命名为: C:\Program Files\Microsoft 我会得到: 试验 如果我称之为: C:\程序文件 我会得到: Microsoft\Test 可能吗 谢谢 像这样的 set p=C:\Program Files\Microsoft\Test echo %p:C:\Program Files\Mi

我希望通过以下方式批量解析字符串:

假设我将此路径作为一个字符串进行批处理:

C:\ProgramFiles\Microsoft\Test

我希望从此字符串中删除给定字符串。例如,如果我将其命名为:

C:\Program Files\Microsoft

我会得到:

试验

如果我称之为:

C:\程序文件

我会得到:

Microsoft\Test

可能吗

谢谢

像这样的

set p=C:\Program Files\Microsoft\Test
echo %p:C:\Program Files\Microsoft\=%
echo %p:C:\Program Files\=%

这篇文章可能重复,但没有多大帮助。我希望得到需要作为变量剪切的字符串,并保留其余的..几乎…我想我知道它为什么不起作用。我将文件的完整路径发送到函数,并在函数中使用
%~dp2
提取完整路径(不带文件名)--->。然后,我使用for循环将绝对路径提取到变量中。现在我有了这些变量:
!CurrentDir
!前缀分别是
C:\Program Files\Microsoft\Test
C:\Program Files
。我试图将您的第二行编辑为:
%CurrentDir:!前缀!=%-但这不起作用…啊,对了,没有看到批处理的其余部分,我真的说不出为什么它不起作用,但是如果您使用的是
!CurrentDir那么
%CurrentDir%
可能不会以同样的方式工作。要嵌套延迟扩展,您可以使用
调用
for
,但这取决于它不起作用的原因,这只是一个想法。我来试一试。非常感谢你的帮助!!