wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Windows – 从不同目录中的另一个批处理文件调用批处理文件 – 找不到资源大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_450_0@ @H_696_1@

概述

我正在使用installshield,并有一组批处理文件,我想作为安装过程的一部分运行.而不是从installshield执行每个批处理文件,我想创建一个执行所有批处理文件的批处理文件. 我的问题是,调用批处理文件从其他目录中放置两个目录.当批处理文件尝试调用他人,因为找不到他们需要的资源时,它们无法运行.看来,当他们从批处理文件执行两个目录时,由于某些原因使用调用批处理文件的相对路径.我的假设是
我正在使用installshield,并有一组批处理文件,我想作为安装过程的一部分运行.而不是从installshield执行每个批处理文件,我想创建一个执行所有批处理文件的批处理文件.

我的问题是,调用批处理文件从其他目录中放置两个目录.当批处理文件尝试调用他人,因为找不到他们需要的资源时,它们无法运行.看来,当他们从批处理文件执行两个目录时,由于某些原因使用调用批处理文件的相对路径.我的假设是否正确?

我正在调用一个批处理文件一个批处理文件,用于为h2数据库添加星号,调用如下所示:

call h2\bin\h2.bat

如果我在命令提示符下转到/ h2 / bin目录,h2.bat运行正常,但是一旦我调用批处理文件中运行它,这是我得到的错误.

如何在不使用调用批处理文件路径的情况下从另一个调用一个批处理文件

说明

是的,你的假设是正确的.调用批处理文件不会更改当前工作目录.将找到主批处理文件,因为您提供了正确的相对路径,但从目前工作目录的角度而言,不会从包含主批处理文件的目录中看到所有其他相对路径.

%〜dp0是你的朋友,它产生包含该字符序列的批处理文件的驱动器盘符和路径.使用它作为相对路径的基础,您的批处理文件将工作,无论谁从哪里调用它们.

例:

虚拟的h2.bat不行:

@echo off
h2.exe start

工作h2.bat:

@echo off
"%~dp0\h2.exe" start

有关%〜dp0的更多说明,请参见What does %~dp0 mean,and how does it work?

大佬总结

以上是大佬教程为你收集整理的Windows – 从不同目录中的另一个批处理文件调用批处理文件 – 找不到资源全部内容,希望文章能够帮你解决Windows – 从不同目录中的另一个批处理文件调用批处理文件 – 找不到资源所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。