batch file:相对path错误,从当前目录向上一级

我是批处理脚本编程的新手。如果给出相对path,执行batch file时出现错误。 我有以下文件夹结构

Script folder - C:\batch\script\ServiceRegister.bat Bin path - C:\batch\bin\ERecruitGenerateReportsWindowsService.exe 

ServiceRegister.batbatch file –

 %windir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe %~dp0%~1\bin\ERecruitGenerateReportsWindowsService.exe 

当我执行ServiceRegister.bat文件时,我得到了错误:

 Exception occurred while initializing the installation: System.IO.FileNotFoundException: Could not load file or assembly 'file:///C:\batch\script\bin\ERecruitGenerateReportsWindowsService.exe' or one of its dependencies. The system cannot find the file specified. 

我正在使用“%〜dp0%〜1”在目录中上一级,仍然获得当前path。

 %~dp0%~1 - C:\batch\script\ 

我需要C:\批处理\path。 我怎么能得到这条路? 它工作正常如果我给绝对path –

 %windir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe C:\batch\bin\ERecruitGenerateReportsWindowsService.exe 

Solutions Collecting From Web of "batch file:相对path错误,从当前目录向上一级"

您尝试使用%~1在目录结构中上升一级是具有创造性并且完全无效的语法。 正确的语法就像使用..\一样简单。

由于%~dp0\结尾,所以不需要%~dp0 \

 %windir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe %~dp0..\bin\ERecruitGenerateReportsWindowsService.exe