批量标准化文件路径

psc*_*ill 3 windows batch-file

有没有办法..从批处理中解析绝对文件路径?例如,应输出以下批处理脚本C:\Users\xyz\other\abc.txt:

REM Project dir is an absolute path, for example, C:\Users\xyz\project\
SET projectDir=%~1

REM Target file is a path relative to the project dir, for example, ..\other\abc.txt
SET target=%~2

REM Concatenate paths. This becomes C:\Users\xyz\project\..\other\abc.txt
SET absoluteTarget=%projectDir%%target%
SET absoluteTargetClean=...
echo %absoluteTargetClean%
Run Code Online (Sandbox Code Playgroud)

absoluteTarget变量是指已存在的文件.

我需要相同的目录而不是文件.你能用同样的方法来实现吗?

Ste*_*han 7

我想知道,有多少人能想出一条路C:\Users\xyz\project\..\other\abc.txt,但我们走了:

SET "absPath=C:\Users\xyz\project\..\other\abc.txt"
for %%i in ("%absPath%") do SET "absPathClean=%%~fi"
echo %absPathClean%
Run Code Online (Sandbox Code Playgroud)

适用于文件和文件夹.

有关更多信息,请咨询 for /?