批处理 - 从路径中删除文件结尾(包含星号)

时间:2016-02-22 10:45:41

标签: batch-file

我需要一种从路径中删除文件结尾的方法,但如果文件结尾包含一个星号,我就无法这样做,例如* .xsd,关于如何做到这一点的任何想法?

示例批处理脚本:

SET xsd_path=xsd\file.xsd  REM This does work
SET xsd_path=xsd\*.xsd     REM This does not work

FOR %%i IN ( "%xsd_path%" ) DO ( set xsd_filepath=%%~pi )
ECHO "Filepath: %xsd_filepath%"

1 个答案:

答案 0 :(得分:3)

试试这个:

@echo off
SET "xsd_path=xsd\file.xsd"
SET "xsd_path=xsd\*.xsd"

FOR /f %%i IN ( "%xsd_path%" ) DO ( set "xsd_filepath=%%~dpi" )
ECHO "Filepath: %xsd_filepath%"
pause

请注意,我还在set语句周围加上引号,因此尾随空格不会添加到变量中。您还拼错了xsd_filepath并加了h