一旦获得用户帐户控制的许可,批处理文件就不会继续启动程序

Batch file does not follow through with launching program once given permission by the user account control

我有以下批处理文件:

for /f "delims=" %%x in (path.txt) do set path=%%x
set address=62.75.218.30:14567
start bf1942.exe

使用 path.txt 包含可执行文件路径的文件。我 运行 批处理文件后,系统会提示我是否要允许 BF1942.exe 对此计算机进行更改(用户帐户控制)。一旦我 select 'yes' 什么都没有发生。同样,当我通过双击图标启动 BF1942.exe 时,我得到相同的提示,但游戏在我授予权限后启动。

编辑:我做了一些调查。当我将 path.txt 和批处理文件移动到我的 Bf1942 文件夹和 运行 批处理文件时,它起作用了。所以问题与文件所在的位置有关。

您可以将批处理文件移动到与可执行文件相同的文件夹,或者在批处理文件中指定可执行文件的完整路径。

例如:

start c:\Bf1942\bf1942.exe

此外,您不应使用 path 作为变量名。有一个名为 path 的系统环境变量,您的批处理正在覆盖它。将您的更改为 myPath 或其他内容。

更改工作目录 (do not change the system environment variable path) 如下:

for /f "delims=" %%x in (path.txt) do set "myPath=%%~x"
set "address=62.75.218.30:14567"
pushd "%myPath%"
start "" bf1942.exe

set "address=62.75.218.30:14567"
for /f "delims=" %%x in (path.txt) do (
    pushd "%%~x"
    start "" bf1942.exe
)

资源(必读):