gpt4 book ai didi

batch-file - 如何将 DOS 批处理文件中的相对路径转换为完全限定路径?

转载 作者:行者123 更新时间:2023-12-02 14:47:35 25 4
gpt4 key购买 nike

我正在编写一个批处理文件,该文件在相对于传递到批处理文件的第一个参数指定的文件夹中执行许多操作。在批处理文件中,我想向用户回显我正在工作的文件夹。但是,每次我回显路径时,它都会包含我用来确定文件夹放置位置的 ....\。例如。

set TempDir=%1\..\Temp
echo %TempDir%

因此,如果我使用参数 \FolderA 运行批处理文件,则 echo 语句的输出为 FolderA\..\Temp 而不是 \Temp 正如我所期望的。

最佳答案

SET "TempDir=%~1\..\Temp"
CALL :normalise "%TempDir%"
ECHO %TempDir%


:normalise
SET "TempDir=%~f1"
GOTO :EOF


:normalise 子例程使用 %~f1 表达式将相对路径转换为完整路径并将其存储回 TempDir

<小时/>

更新

或者,您可以使用 FOR 循环,如下所示:

SET "TempDir=%~1\..\Temp"
FOR /F "delims=" %%F IN ("%TempDir%") DO SET "TempDir=%%~fF"
ECHO %TempDir%

关于batch-file - 如何将 DOS 批处理文件中的相对路径转换为完全限定路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6591544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com