不能 运行 以管理员身份提交,但如果我 运行 作为普通用户就可以

Can't run file as Admin but OK if I run as a normal user

EDIT: Tried this: C:\WINDOWS\system32>runas /user:gabs-pc\gabs-pc "J:\TI\...\Editor_PDF\editor_pdf.exe"

Got this error: "The system could not fin the specified file."

很难在主题标题上揭露我的问题...

嗯...我有一个 .exe 文件,我想 运行,这个文件位于共享硬盘驱动器中,通过名为 J:\.

如果我在给定路径中以普通用户身份打开 cmd 提示符,并尝试使用以下命令执行 .exe 文件:

"J:\TI\Estágio\gabriel\Editor de PDF\Editor PDF\editor_pdf.exe" param1 param2 param3

它工作正常。但是当我尝试 运行 完全相同的文件时,从同一台计算机以管理员身份打开 cmd 提示符时,我收到以下错误:

'"J:\TI...\Editor PDF\editor_pdf.exe"' is not recognized as an internal or external command, an operable program or a batch file.

我想知道如何以管理员身份执行该文件或以 current/normal 用户身份 运行 该文件的 single-line 解决方法。

评论: 如果你们中的一些人问自己“为什么不以普通用户身份打开 cmd?”。我正在尝试从另一个只能 运行 cmd 作为管理员的程序调用此程序,这就是原因。

您需要先将网络驱动器路径转换成它的真实UNC路径。正如@RbMm 所说,网络驱动器是按使用配置的。

如果你坚持cmd,你可以使用wmic path win32_mappedlogicaldisk get DeviceID, ProviderName来获取目标的真实路径。

您也可以使用 Winapi WNetGetConnection 检索驱动器路径。

该过程应该在管理员上下文中完成。如果不能,则需要使用 CreateProcessAsUser 从其他用户的角度检索信息。

伪代码:

char path[260] = {0};
WNetGetConncetion ("J:", path, 260);
WinExec ("\"" + path + "\TI\Estágio\gabriel\Editor de PDF\Editor PDF\editor_pdf.exe"
       + "\" " + param1 + " " + param2 + " " + param3, SW_HIDE);

附加信息: