在批处理脚本中提取路径的一部分

时间:2016-09-26 09:24:27

标签: windows batch-file

我有一个输入说明为/home/home1/home2/home3/

的批处理脚本

我需要提取部分文件路径/home2/home3。我怎样才能做到这一点?

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

未经测试:

@echo off

set "p=/home/home1/home2/home3/"
set "p=%p:/=";"%"

setlocal ENABLEDELAYEDEXPANSION
for %%a in ("%p%") do (
    if "%%~a" neq "" set "butlast=!last!"
    if "%%~a" neq "" set "last=%%~a"

)

echo %butlast%/%last%

答案 1 :(得分:0)

for / f“tokens = 1-4 delims = /”%% a in('echo / home / home1 / home2 / home3 /')do @echo / %% b / %% c

令牌告诉我要吐出多少变量& delims告诉它要拆分什么。 %% a是第一个标记,它将计算出一个到d,因为它被告知生成4.

您可能将路径作为变量,您可以将其放在示例中的路径位置,但您可能需要使用延迟扩展