【问题标题】:Problem with relative paths(*.bat + VMWARE + Windows 2003)相对路径问题(*.bat + VMWARE + Windows 2003)
【发布时间】:2011-02-03 15:13:35
【问题描述】:

这可能是 ServerFault 的问题,但我更感兴趣的是了解操作系统用于解析相对路径的方法。我有两个 Windows 2003 的 VMware 实例。我正在尝试运行一个批处理文件,该批处理文件开始在其文件夹路径中运行另一个批处理文件。该脚本在一个 VM 上运行良好,但在另一个 VM 上却无法执行并出现错误:

>     The System cannot find the file specified

我要运行的脚本是script.bat:

start /d FOLDERNAME /b /WAIT AnotherScript.bat %~n0%~x0

我已将我的两个文件放在两台机器上 C:\ 驱动器下的同一文件夹结构中。文件 AnotherScript.bat 位于两个 VM 上的 FOLDERNAME 中。

这不是权限问题(?),因为我在两个 VM 上都显示为管理员。

我想知道为什么我会在一台机器上无法解析相对路径而不是在另一台机器上解析它。

谢谢

【问题讨论】:

    标签: windows batch-file vmware relative-path


    【解决方案1】:
    1. 首先检查两者启动的文件夹是否相同。尝试在调用第二个脚本之前添加ECHO %CD% 以检查启动它的目录。

    2. 还要检查第二个 bat 文件所在的路径是否设置在第一个 VM 的 %PATH% 变量中。

    3. 默认情况下,两个 VM 中的命令提示符从哪里开始?

    【讨论】:

    • 谢谢。两个脚本都从同一目录启动,%PATH% 变量相同,并且 cmd 从两台机器上的 C:\WINDOWS\system32\cmd.exe 开始。这一切似乎都没有明显不同。还有什么我应该研究的吗?
    • @sc_ray 我的意思是 cmd 启动时显示的当前工作目录。您是否还尝试将 ECHO %CD% 添加到批处理脚本中,并在执行批处理文件 2 之前查看两个 VM 显示的当前目录?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 2014-05-09
    • 2016-01-08
    • 2011-04-29
    • 1970-01-01
    • 2015-08-14
    • 2021-05-27
    相关资源
    最近更新 更多