在 command.com 中将 %CD% 添加到 PATH - 请注意,cmd.exe 修复不起作用

在 command.com 中将 %CD% 添加到 PATH - 请注意,cmd.exe 修复不起作用

目标:发出一个简单的命令,将当前目录添加到 PATH 语句中。我宁愿调用一个批处理文件,比如 xpath(其中 xpath.bat 位于活动路径中),而不是输入每一个痛苦的笔划。
不起作用path=%path%;%cd%在 command.com 下不起作用,无论是批处理还是命令行,尽管它在更高版本的 cmd.exe 系统中可以完美运行。
令人困惑:可以通过这种方式操作几个其他系统变量或字符串。

%CD% (或 CD) 的行为有所不同。

环境:我在 Virtualbox 5.2.22 下使用 FreeDOS 1.2,
此故障在 MS-DOS 6.22 和 Vbx 5.2.22 下均存在


C:\SSH>path  
PATH=C:\FDOS\BIN
C:\SSH>set newdir=C:\SSH\CONTRIB
C:\SSH>echo %newdir%
C:\SSH\CONTRIB                    // success
C:\SSH>path=%path%;%newdir%
C:\SSH>path
PATH=C:\FDOS\BIN;C:\SSH\CONTRIB   // success  

*** 但

C:\SSH>path 
PATH=C:\FDOS\BIN
C:\SSH>set newdir=%cd%
C:\SSH>echo %newdir%
ECHO is on                        // unexpected
C:\SSH>path=%path%;%newdir%
C:\SSH>path
PATH=C:\FDOS\BIN;C:\SSH\CONTRIB   //unchanged

“echo is on” 以及其他失败都与 %cd% 解析为无一致。
因此 CD 和 PATH 一样,似乎一个 COMMAND,其输出可以通过将其评估为 %VARIABLE% 来捕获,但这可能只是所需的外观。听起来这两者根本不同,并且 CD 在 COMMAND.COM 下无法一致地工作。
请注意,还有另一个问题,其中有一个在 cmd.exe 下运行良好的解决方案。这不是那个。

答案1

ratburgerian。只需尝试使用小型 DOS 实用程序(如 PATHA.COM 或任何类似的实用程序)即可。其语法如下:

PATHA [text or /c] [ /f /d /e /b /o ]
PATHA 提供了多种修改当前路径的方法。

PATHA :显示当前路径。
PATHA [text]:将目录 [文本] 添加到当前路径。

    选项
  • `[text]` :单个目录(例如 c:\DOS)或以 ; 分隔的多个目录(例如 c:\;c:\dos)。
  • /c :使用当前工作目录作为[文本]。
  • /b:添加到路径的开头。
  • /d:从路径中删除。
  • /e:更改之前编辑结果路径。
  • /o:覆盖检查目录是否存在。
  • /f :用文件 [text] 中的路径替换路径,如果未输入 [text],则用 \autoexec.bat 中的路径替换路径。
    Note: options may be combined. (i.e. PATHA /c /e).  

版权所有 1992 HGB Enterprises,保留所有权利。Ver 1.1

我使用的版本是这个:

patha.com 14112 15-04-1992 19:39 “patha.com”

这确实适用于我的真实 DOS(M$ 6.22 和 Novell 7.15)PC。

相关内容