使用batch命令将路径修剪到某个字符串

时间:2016-06-21 06:17:45

标签: batch-file

我在注册表中有一个变量路径,如下所示:

SET dirpath="D:\Veritas\product\7.5.0.2\bin\DBBACKEX.EXE BACKUPDIR"

我需要使用windows batch命令输出到bin文件夹,该命令应该看起来像这样:D:\Veritas\product\7.5.0.2\bin

我在批处理命令中使用了一个简单的VBScript,就像下面代码完成了这项工作一样,但是我只需要使用批处理命令而不需要使用另一个文件。

FOR /F "usebackq tokens=*" %%p in (`CSCRIPT //nologo regpath.vbs %dirPath%`) DO SET VPath=%%p

我在批处理命令中看不到很多字符串操作函数,我想删除上面代码中的CSCRIPT行,并且只使用批处理命令。有人可以帮忙。

2 个答案:

答案 0 :(得分:2)

要根据您的要求使用字符串“bin”“将路径修剪到某个字符串”,您可以使用以下简单方法:

@echo off
setlocal

SET "dirpath=D:\Veritas\product\7.5.0.2\bin\DBBACKEX.EXE BACKUPDIR"

SET "VPath=%dirpath:bin=bin" & rem "%"

echo %VPath%

技巧包括将路径拆分为所需的字符串,并通过rem命令消除其余部分;您可以删除@echo off行并执行代码以查看确切执行的内容......

答案 1 :(得分:1)

使用for修饰符来获取驱动器/路径:

for %%a in ("%dirpath%") do set dirpath=%%~dpa

有关修饰符的说明,请参阅for /?