相对路径问题(*.bat+;VMWARE+;Windows 2003)

相对路径问题(*.bat+;VMWARE+;Windows 2003),windows,batch-file,vmware,relative-path,Windows,Batch File,Vmware,Relative Path,这可能是ServerFault的问题,但我更感兴趣的是理解操作系统用于解析相对路径的方法。我有两个Windows 2003的VMware实例。我正在尝试运行一个批处理文件,该批处理文件在其文件夹路径内开始运行另一个批处理文件。脚本在一个VM上运行正常,但在另一个VM上无法执行,错误如下: > The System cannot find the file specified 我尝试运行的脚本是script.bat: start /d FOLDERNAME /b /WAIT Ano

这可能是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中

这不是权限问题(?),因为我在两个虚拟机上都以管理员身份出现

我想知道为什么我会在一台机器上无法解析相对路径,而在另一台机器上却能够解析相对路径

谢谢

  • 首先检查两个正在启动的文件夹是否相同。在调用第二个脚本检查启动该脚本的目录之前,请尝试添加
    ECHO%CD%

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

  • 在两个虚拟机中,命令提示符默认从何处开始


  • 谢谢这两个脚本都是从同一目录启动的,%PATH%变量是相同的,cmd在两台计算机上都是从C:\WINDOWS\system32\cmd.exe启动的。所有这些似乎都没有明显的不同。还有什么我需要研究的吗?@sc_-ray我指的是当前的工作目录,当你启动它时由cmd显示。您是否也尝试将ECHO%CD%添加到批处理脚本中,并在执行批处理文件2之前查看两个VM显示的当前目录?