child.bat 不是内部或外部命令,也不是可运行的程序或批处理文件
child.bat not recognized as an internal or external command, operable program or batch file
我一直在处理 bat 文件问题。
我在主 bat 文件中调用一个 bat 文件。这两个 bat 文件在同一个文件夹中,即 "D:\"
Test.bat:
SET str=HELLO
ECHO say %str% Test
Call Child.bat
Child.bat:
ECHO say %str% child
在 Test.bat
文件中我声明了一个变量 str
并且也在子 bat 文件中使用它。当我直接双击 运行ning Test.bat 时,它按预期工作,我将得到结果
say HELLO Test
say HELLO Child
但问题就在这里,如果我 运行 在命令提示符下从另一台机器 Test.bat 文件
- 打开运行
- 输入//Server/D$/Test.bat
它只执行 Test.bat 并且无法调用 Child.bat 因为我得到像
这样的输出
say HELLO Test
Child.bat not recognized as an internal or external command, operable program or batch file
在命令提示符的上方,我可以看到一条语句,如
'\Server\D$\' CMD.EXE was started with the above path as the current directory. UNC paths are not supported. Defaulting to Windows directory.
实际上我需要设置一个 sql 作业来调用 Test.bat 文件。
我该如何解决这个问题?
test.bat
pushd "%~dp0"
SET str=HELLO
ECHO say %str% Test
Call Child.bat
popd
只需创建一个临时映射并将当前文件夹更改为它即可。最后释放它。 pushd /popd
会处理的。
但是虽然它会起作用,但如果调用批处理文件时当前活动目录是 UNC 路径(从 windows run
对话框调用它时会发生什么),UNC 错误将被显示。如果您想避免它,请确保该进程使用不同的默认目录启动。
我一直在处理 bat 文件问题。
我在主 bat 文件中调用一个 bat 文件。这两个 bat 文件在同一个文件夹中,即 "D:\"
Test.bat:
SET str=HELLO
ECHO say %str% Test
Call Child.bat
Child.bat:
ECHO say %str% child
在 Test.bat
文件中我声明了一个变量 str
并且也在子 bat 文件中使用它。当我直接双击 运行ning Test.bat 时,它按预期工作,我将得到结果
say HELLO Test
say HELLO Child
但问题就在这里,如果我 运行 在命令提示符下从另一台机器 Test.bat 文件
- 打开运行
- 输入//Server/D$/Test.bat
它只执行 Test.bat 并且无法调用 Child.bat 因为我得到像
这样的输出say HELLO Test
Child.bat not recognized as an internal or external command, operable program or batch file
在命令提示符的上方,我可以看到一条语句,如
'\Server\D$\' CMD.EXE was started with the above path as the current directory. UNC paths are not supported. Defaulting to Windows directory.
实际上我需要设置一个 sql 作业来调用 Test.bat 文件。
我该如何解决这个问题?
test.bat
pushd "%~dp0"
SET str=HELLO
ECHO say %str% Test
Call Child.bat
popd
只需创建一个临时映射并将当前文件夹更改为它即可。最后释放它。 pushd /popd
会处理的。
但是虽然它会起作用,但如果调用批处理文件时当前活动目录是 UNC 路径(从 windows run
对话框调用它时会发生什么),UNC 错误将被显示。如果您想避免它,请确保该进程使用不同的默认目录启动。