Batch file 从批处理中的字符串获取路径
我希望通过以下方式批量解析字符串: 假设我将此路径作为一个字符串进行批处理: C:\ProgramFiles\Microsoft\Test 我希望从此字符串中删除给定字符串。例如,如果我将其命名为: C:\Program Files\Microsoft 我会得到: 试验 如果我称之为: C:\程序文件 我会得到: Microsoft\Test 可能吗 谢谢 像这样的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
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
,但这取决于它不起作用的原因,这只是一个想法。我来试一试。非常感谢你的帮助!!