如何使用CMD打开某应用程序命令行并在打开的应用程序中执行指定命令?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用CMD打开某应用程序命令行并在打开的应用程序中执行指定命令?相关的知识,希望对你有一定的参考价值。
远程打开一个CMD,使用CMD打开某应用程序(命令行),我想在该应用程序命令行中输入命令,但是CMD没有返显,所有的命令输入都是在CMD中,并不在打开的应用程序命令行中。如何能实现在CMD里打开应用程序命令行并在打开的命令行弹窗中自动添加命令,如BAT可以吗?
方法/步骤
点击开始。“计算机”上右击-管理-服务和应用程序-服务(你也可以直接win+R,在运行框中输入SERVICES.MSC来开启)
找到你要启动的服务,这里我们以vmware的一个服务来举例。
在该服务上右击,属性,在弹出的对话框中找到服务名称这一项,复制下来,接下来的不走我们会用到它,复制下来之后,就可以把这些页面关掉了。
在桌面上新建一个文本文档,然后打开它,在里面输入
NET START XXXX(前面复制下来的服务名)
pause
比如说我们这里就输入
NET START VMAuthdService
pause
然后关闭,保存。
在这个文本文档上右击,重命名,将其重命名为XXXX.BAT
比如我这里就改名为"启动VM服务.bat"(其实前面的名称什么无所谓,主要还是要把他的后缀名改为.bat,如果你的文件不显示后缀名的话,在网上找一下如何打开后缀名选项吧)
到这里基本上已经大功告成了,在需要使用的时候只要运行这个BAT档案(有的系统需要有件-以管理员身份运行),那么这个服务就会自动启动了,省去了繁琐的操作步骤!
像C开发的程序,看程序说明文件
一般是 >应用程序 空格 参数
如何使用 Windows 的命令行打开提升的 cmd?
【中文标题】如何使用 Windows 的命令行打开提升的 cmd?【英文标题】:How to open an elevated cmd using command line for Windows? 【发布时间】:2013-10-06 13:05:23 【问题描述】:如何在普通 cmd 上使用命令行打开提升的命令提示符?
比如我用runas /username:admin cmd
但是打开的cmd好像没有提升!有什么解决办法吗?
【问题讨论】:
我尝试了所有的答案。最有用的答案没有任何软件,最少没有动作是***.com/a/40942828/9217577 【参考方案1】:我遇到了同样的问题,我能够从 CMD 以管理员身份打开 CMD 的唯一方法是执行以下操作:
-
打开 CMD
写
powershell -Command "Start-Process cmd -Verb RunAs"
然后按Enter
将出现一个弹出窗口,要求以管理员身份打开 CMD
【讨论】:
好答案。我添加并编辑了我曾经让它在一个命令行中运行! 我用它创建了一个批处理文件,并将其保存为 admincmd.bat 在我的 Windows 文件夹中,所以我所要做的就是输入“admincmd”按回车键,它会打开一个管理员 cmd。(我还添加了批处理文件的另一行带有“exit”,因此它关闭了非管理员 cmd 窗口) 为什么不把 cmd(和任何参数)放在最后。从可读性的角度来看,拥有该命令很奇怪。 需要这个来提升以另一个用户身份运行的提示。 有什么办法可以避免下面的弹窗吗?我想从非交互式脚本中生成提升的 cmd。【参考方案2】:我没有足够的声望给最佳答案添加评论,但是借助别名的力量,您只需键入以下内容即可:
powershell "start cmd -v runAs"
这只是 user3018703 的一个较短的版本 解决方案:
powershell -Command "Start-Process cmd -Verb RunAs"
【讨论】:
请注意-v
不再是-Verb
的快捷方式,因为-Verb 和-Verbose 之间存在歧义,所以需要明确拼写出-Verb
【参考方案3】:
根据documentation,Windows 安全模型...
根本不授予管理权限 次。 即使管理员在标准权限下运行,当他们 执行不需要提升的非管理任务 特权。
您在创建新任务对话框中有使用管理权限创建此任务选项(任务管理器>文件>运行新任务) ,但没有内置方法可以使用命令行有效提升权限。
但是,您可以使用一些第三方工具(内部依赖于 Windows API)从命令行提升权限:
NirCmd:
-
下载并解压。
nircmdc elevate cmd
windosu:
-
安装它:
npm install -g windosu
(需要安装node.js)
sudo cmd
【讨论】:
谢谢,nircmdc elevate route delete 0.0.0.0 mask 0..0.0 192.168.1.1
终于成功了。其他runas /user:...
方式提示输入密码,尽管已经是管理员(杀死批处理模式)。
感谢nircmdc elevate cmd
安装 nircmd
后,要让它像 Linux sudo
一样工作,请在您的路径中创建一个 sudo.bat
文件,其中包含以下内容:nircmd elevate %*
。然后你可以这样做,例如,sudo net stop W3SVC
我认为 windosu 是迄今为止最简单、最优雅的方法,尤其是如果您是开发人员...谢谢。我觉得我在 nix 系统上:D
请不要使用来自网络的“帮助您提升权限”的随机可执行文件。糟糕,糟糕的做法。【参考方案4】:
在这里尝试其他答案后我所做的简单方法
方法一:没有第三方程序(我用过这个)
-
创建一个名为
sudo.bat
的文件(你可以用你想要的任何名字替换sudo
),内容如下
powershell.exe -Command "Start-Process cmd \"/k cd /d %cd%\" -Verb RunAs"
将sudo.bat
移动到PATH
中的文件夹;如果您不知道这意味着什么,只需将这些文件移至c:\windows\
现在sudo
将在运行对话框 (win+r) 或资源管理器地址栏中工作(这是最好的部分 :))
方法 2:使用第 3 方程序
-
下载NirCmd并解压。
创建一个名为
sudo.bat
的文件(你可以用你想要的任何名字替换sudo
),内容如下
nircmdc elevate cmd /k "cd /d %cd%"
将nircmdc.exe
和sudo.bat
移动到PATH
中的文件夹;如果您不知道这意味着什么,只需将这些文件移至c:\windows\
现在sudo
将在运行对话框 (win+r) 或资源管理器地址栏中工作(这是最好的部分 :))
【讨论】:
虽然这两种解决方案都有效,但不幸的是,它们会导致 UAC 对话框显示在顶部(z-order-wise)但 not 得到 专注。 (在 Win10x64 v1607 build14393.447 上测试。) @Ogmios 这很奇怪。当没有像这样启动时,对话框是否正常工作?我一直很高兴地使用它而没有这些问题。也许是因为您更改了其他一些配置? 是的,UAC 对话框在所有其他情况下都按预期工作(我遇到过)。这是唯一的例外。当然,我还以其他方式更改了我的系统,但我没有发现任何可能对这个对话框有隐藏影响的东西。 我把它整合成一个可安装的解决方案:webinstall.dev/sudo 请不要使用来自网络的“帮助您提升权限”的随机可执行文件。糟糕,糟糕的做法。【参考方案5】:我一直使用 nirsoft 程序(例如 nircmdc)和 sysinternals(例如 psexec)。他们非常有帮助。
但如果您不想或不能 dl 第三方程序,这里有另一种方式,纯 Windows。
简答:您可以在提升时创建具有提升权限的计划任务,然后您可以稍后在未提升时调用。
中等长度的答案:虽然提升了创建任务(但我更喜欢任务调度程序 GUI):
schtasks /create /sc once /tn cmd_elev /tr cmd /rl highest /st 00:00
然后,不需要提升,调用 with
schtasks /run /tn cmd_elev
长答案:有很多烦人的细节;请参阅我的博客条目"Start program WITHOUT UAC, useful at system start and in batch files (use task scheduler)"
【讨论】:
请不要使用来自网络的“帮助您提升权限”的随机可执行文件。糟糕,糟糕的做法。 @Xalorous 此解决方案不使用任何外部软件 nircmdc 和 psexec 是第 3 方软件。虽然 sysinternals 归 Microsoft 所有,但该软件不包含在 Windows 中,并且不受支持。其他用于提升权限的第三方软件要么是恶意软件,要么是恶意软件的可能目标。至少,在运行之前仔细评估软件。在工作中运行不在组织批准列表中的第 3 方软件是一种不好的做法。只是不要。【参考方案6】:以下作为批处理文件将打开提升的命令提示符路径设置为与调用批处理文件的目录相同的目录
set OLDDIR=%CD%
powershell -Command "Start-Process cmd -ArgumentList '/K cd %OLDDIR%' -Verb RunAs "
【讨论】:
“cd %OLDDIR%”部分应该是“cd /D %OLDDIR%”。然后,当从 cmd 的默认驱动器以外的驱动器(通常是 C:) 调用批处理文件时,它也可以工作。【参考方案7】:我最喜欢的方法是使用来自 SysInternals 的 PsExec.exe,可在 http://technet.microsoft.com/en-us/sysinternals/bb897553 获得
.\psexec.exe -accepteula -h -u "$username" -p "$password" cmd.exe
“-h”开关是个神奇的开关:
-h 如果目标系统是 Vista 或更高版本,则使用帐户的提升令牌运行进程(如果可用)。
【讨论】:
要使其工作,您必须编辑 psexec.exe 的属性并在兼容性选项卡上选中“以管理员身份运行”。否则你会得到错误:PSEXESVC 没有安装。但是 psexec 会导致 cmd.exe 中的 tab 键出现问题。不能使用制表符来完成文件夹名称。 不确定您尝试了哪个环境,但我不需要更改“以管理员身份运行”设置(您是否尝试在您的远程计算机上运行 cmd.exe?)。 Tab键也没有问题,我可以成功完成文件和文件夹名称(至少在Win8.1和Win10上测试过,从cmd和PowerShell命令行运行) 我正在使用 Win10 并在本地运行它。不知道为什么它发生在我身上而不是你身上。我确实让 nircmd 工作,它不会导致选项卡问题。 我还注意到无法使用 tab 键自动完成,但至少这会在另一个用户的上下文中打开提升的 cmd 提示符,而我之前的方法在我尝试时似乎没有实现。 '-h' 标志很棒(windows 10),很好用。【参考方案8】:虽然 Dheeraj Bhaskar 提供的两种解决方案都有效,但不幸的是,它们会导致 UAC 对话框显示在顶部(z-order-wise)但 not 得到 focused(焦点窗口是调用方 cmd/powershell 窗口),因此我需要抓住鼠标并单击“是”,或者使用 Alt+Shift+Tab 选择 UAC 窗口。 (在 Win10x64 v1607 build14393.447 上测试;UAC = "[...] do not dim [...]"。)
以下解决方案有点尴尬,因为它使用两个文件,但它保留了正确的焦点顺序,因此不需要额外的鼠标/键盘操作(除了确认 UAC 对话框:Alt+Y )。
-
cmdadm.lnk(快捷方式属性/高级.../以管理员身份运行 = ON)
%SystemRoot%\System32\cmd.exe /k "cd /d"
su.bat
@start cmdadm.lnk %cd%
使用su
运行。
【讨论】:
很遗憾,我无法重现此内容。每当我使用我的任何一种解决方案时。我的 UAC 提示重点突出【参考方案9】:使用/savecred
开关使批处理文件保存实际管理员帐户的凭据。这将第一次提示输入凭据,然后将加密的密码存储在凭据管理器中。然后在后续的所有批处理运行中,它将以完整管理员身份运行,但不会提示输入凭据,因为它们以加密方式存储在凭据管理器中,最终用户无法获取密码。以下应打开具有完全管理员权限的提升 CMD,并且只会在第一次提示输入密码:
START c:\Windows\System32\runas.exe /user:Administrator /savecred cmd.exe
【讨论】:
【参考方案10】:我已经使用Elevate
有一段时间了。
这是描述 - This utility executes a command with UAC privilege elevation. This is useful for working inside command prompts or with batch files.
我将bin.x86-64\elevate.exe
从.zip
复制到C:\Program Files\elevate
并将该路径添加到我的PATH
。
然后 GitBash 我可以运行 elevate sc stop W3SVC
之类的东西来关闭 IIS
服务。
运行命令会给我一个UAC
对话框,通过键盘控制正确聚焦,并在接受对话框后返回我的 shell。
【讨论】:
请不要使用来自网络的“帮助您提升权限”的随机可执行文件。糟糕,糟糕的做法。 ...尤其是没有源代码。 @not2qubit 确实包含源代码。 @gpvos 正确,它在 .7zip 中,并且包含用于验证的 .m5d 哈希...【参考方案11】:..
@ECHO OFF
SETLOCAL EnableDelayedExpansion EnableExtensions
NET SESSION >nul 2>&1
IF %ERRORLEVEL% NEQ 0 GOTO ELEVATE
GOTO :EOF
:ELEVATE
SET this="%CD%"
SET this=!this:\=\\!
MSHTA "javascript: var shell = new ActiveXObject('shell.application'); shell.ShellExecute('CMD', '/K CD /D \"!this!\"', '', 'runas', 1);close();"
EXIT 1
将此脚本另存为“god.cmd”在您的 system32 或您的路径指向的任何内容....
如果你在 e:\mypictures\ 中打开一个 cmd 并输入 god 它会要求您提供凭据并将您带回与管理员相同的位置...
【讨论】:
powershell 很酷,但它需要zz 模块...我 oldscool... 只需要系统... 这种提升方法/技巧是否也适用于长路径/文件名?还是我应该改用“%~snx0”或“%~dpsnx0”?【参考方案12】:Dheeraj Bhaskar 使用 Powershell 的方法中缺少空格,至少对于 Powershell 的 Windows 10 化身来说是这样。
他的sudo.bat里面的命令行应该是
powershell.exe -Command "Start-Process cmd \"/k cd /d %cd% \" -Verb RunAs"
注意 %cd% 后面的多余空格
;)弗罗德
【讨论】:
【参考方案13】:这是一种与资源管理器集成的方法。 当您在 Windows 资源管理器中右键单击任何文件夹时,它会弹出一个额外的菜单项:
步骤如下:
-
创建此密钥:
\HKEY_CLASSES_ROOT\Folder\shell\dosherewithadmin
将其默认值更改为您希望显示为菜单项文本的任何值。
例如。 "DOS Shell 作为管理员"
创建另一个密钥:\HKEY_CLASSES_ROOT\Folder\shell\dosherewithadmin\command
并将其默认值更改为:powershell.exe -Command "Start-Process -Verb RunAs 'cmd.exe' -Args '/k pushd "%1"'"
完成。现在右键单击任何文件夹,您将在其他项目中看到您的项目。
*我们使用pushd
而不是cd
以允许它在任何驱动器中工作。 :-)
【讨论】:
【参考方案14】:与上面的其他一些解决方案类似,我创建了一个elevate
批处理文件,它运行提升的 PowerShell 窗口,绕过执行策略以启用从简单命令到批处理文件再到复杂 PowerShell 脚本的所有内容。我建议将其粘贴在您的 C:\Windows\System32 文件夹中以方便使用。
原始的elevate
命令执行其任务,捕获输出,关闭生成的 PowerShell 窗口,然后返回,将捕获的输出写入原始窗口。
我创建了两个变体,elevatep
和 elevatex
,它们分别暂停和保持 PowerShell 窗口打开以进行更多工作。
https://github.com/jt-github/elevate
如果我的链接失效,这里是原始提升批处理文件的代码:
@Echo Off
REM Executes a command in an elevated PowerShell window and captures/displays output
REM Note that any file paths must be fully qualified!
REM Example: elevate myAdminCommand -myArg1 -myArg2 someValue
if "%1"=="" (
REM If no command is passed, simply open an elevated PowerShell window.
PowerShell -Command "& Start-Process PowerShell.exe -Wait -Verb RunAs"
) ELSE (
REM Copy command+arguments (passed as a parameter) into a ps1 file
REM Start PowerShell with Elevated access (prompting UAC confirmation)
REM and run the ps1 file
REM then close elevated window when finished
REM Output captured results
IF EXIST %temp%\trans.txt del %temp%\trans.txt
Echo %* ^> %temp%\trans.txt *^>^&1 > %temp%\tmp.ps1
Echo $error[0] ^| Add-Content %temp%\trans.txt -Encoding Default >> %temp%\tmp.ps1
PowerShell -Command "& Start-Process PowerShell.exe -Wait -ArgumentList '-ExecutionPolicy Bypass -File ""%temp%\tmp.ps1""' -Verb RunAs"
Type %temp%\trans.txt
)
【讨论】:
【参考方案15】:对于 Cygwin 的粉丝:
cygstart -a runas cmd
【讨论】:
【参考方案16】:在这方面似乎有很多非常有创意的解决方案,但我发现 Stiegler 和 Gui 对我来说最有意义。我正在研究如何做到这一点,但将其与我的域管理员凭据结合使用,而不是依赖“当前用户”的本地权限。
这是我想出的:
runas /noprofile /user:DomainName\UserName "powershell start cmd -v runas"
这似乎是多余的,但它确实会提示我输入管理员密码,并且会作为提升的命令提示符出现。
【讨论】:
这就是我要找的... 将用户本身提升为管理员,而不是调用管理员。但我不明白那里发生了什么......cmd -v runas
。为什么这东西最终会要求管理权限?【参考方案17】:
当 CMD 脚本需要管理员权限并且您知道时,将此行添加到脚本的最顶部(在 @ECHO OFF
的正下方):
NET FILE > NUL 2>&1 || POWERSHELL -ex Unrestricted -Command "Start-Process -Verb RunAs -FilePath '%ComSpec%' -ArgumentList '/c \"%~fnx0\" %*'" && EXIT /b
NET FILE
检查现有管理员权限。如果没有,PowerShell 会在 elevated shell 中重新启动当前脚本(及其参数),然后关闭未提升的脚本。
要允许运行脚本-ex Unrestricted
是必要的。
-Command
执行以下字符串。
Start-Process -Verb RunAs
运行一个进程以管理员身份:
shell(%ComSpec%
,通常是C:\Windows\System32\cmd.exe
)启动(/c
)当前脚本(\"%~fnx0\"
)并传递其参数(%*
)。
也许不是这个问题的确切答案,但它很可能正是人们最终需要的。
【讨论】:
您能否解释一下,每个参数的作用是什么? @not2qubit 当然!【参考方案18】:回答有点晚了,但对于像我这样的迟到者来说,无论如何都要回答。 我有两种方法。第一个是基于对@Dheeraj Bhaskar 的回答的微小改动,第二个是新的(这里的任何答案中都没有提到)。
方法一:为windows创建admin
命令(只是为了灵活)。
@ECHO OFF
powershell -Command "Start-Process %1 -Verb RunAs"
打开记事本 -> 复制/粘贴上面的脚本 -> 将其保存为 c:\windows 中的 admin.bat
可以在上面的脚本中添加很多内容以使其更好,但我尽量保持简单,而且我不是批处理脚本专家。
现在您可以使用 admin 作为命令来运行具有提升权限的任何其他命令或应用程序。
要回答原始问题 - 在标准 cmd 中键入 admin cmd
。
方法 2:使用 runas 命令。为此,我们需要启用内置管理员帐户(如果尚未启用)并设置密码。大多数系统默认禁用此帐户。
在制造 PC 时,您可以在创建用户帐户之前使用内置的管理员帐户来运行程序和应用程序。 Source
启用管理员帐户的步骤-
-
点击 Windows+R 并输入
compmgmt.msc
,这将打开计算机管理窗口。
转到系统工具 -> 本地用户和组 -> 用户
您应该会在此处看到一个名为 Administrator 的帐户(有关此帐户的更多信息,请参见 here)。
右键单击管理员并选择属性。
检查密码永不过期。取消选中帐户已禁用和其他所有内容,然后单击确定。这将在您的系统上启用管理员帐户。如果已启用则跳过。
再次右键单击管理员并单击设置密码(默认情况下它没有设置密码,但runas
命令工作我们需要设置密码)。
现在,windows 将向您显示一个您可以接受的危及生命的警告。
或者,如果您想安全起见,则应在启用此帐户后登录该帐户并从那里设置密码。
现在runas
命令应该可以工作了-
启动标准 cmd 并输入-
runas /user:administrator cmd
额外:
现在我们可以创建类似于 Linux 的 sudo
命令的东西。使用以下脚本创建 sudo.bat 文件并将其保存在 c:\windows 中。
@ECHO OFF
powershell -Command "runas /user:administrator %1"
现在我们可以做sudo cmd
【讨论】:
【参考方案19】:用途:
start
、run
、cmd
,然后是control+shift+enter
您将获得 UAC,然后是提升的命令外壳。
【讨论】:
【参考方案20】:目前最快的方法是:
CTRL+ALT+DELETE
运行任务管理器
单击FILE > Run New Task > type in "cmd"
并勾选“使用管理权限创建此任务”。盒子。
不确定这是否有帮助,但这是我设法做到的。如果您需要从批处理运行命令,但嘿嘿......我需要这个只是因为 Windows 资源管理器已损坏并需要修复它。
这是我的解决方法。如果不是原始海报,希望这对某人有所帮助。
【讨论】:
【参考方案21】:我为我的 smartctl 做了这个,它变成了一个便携式应用程序。 我从here.借来的
@echo off
set location=%cd%\bin
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/k "TITLE Smartctl" & color 07 & pushd "%location%" & prompt $g & echo "Welcome to Smartctl cmd"' "
prompt $g
隐藏长前导路径。pushd "%location%"
类似于cd /d "%location%"
-
另存为
smartctl.cmd
为smartctl.cmd
创建一个快捷方式
将快捷方式复制到C:\Users\#YourName#\AppData\Roaming\Microsoft\Windows\StartMenu\Programs
点击开始菜单旁边的搜索并输入smartctl
右键Pin to Start
【讨论】:
【参考方案22】:可以使用临时环境变量与提升的快捷方式一起使用(
start.cmd
setx valueName_betterSpecificForEachCase %~dp0
"%~dp0ascladm.lnk"
ascladm.lnk(快捷方式)
_ properties\advanced\"run as administrator"=yes
(要更改路径,您需要临时创建env.Variable
)
_ properties\target="%valueName_betterSpecificForEachCase%\ascladm.cmd"
_ properties\"start in"="%valueName_betterSpecificForEachCase%"
ascladm.cmd
setx valueName_betterSpecificForEachCase=
reg delete HKEY_CURRENT_USER\Environment /F /V valueName_betterSpecificForEachCase
"%~dp0fileName_targetedCmd.cmd"
) (targetedCmd 在提升的 cmd 窗口中执行)
虽然是3个文件,你可以把所有东西(包括targetedCmd)放在某个子文件夹中(别忘了把folderName添加到补丁中)并将“start.cmd”重命名为target的一个名字
对我来说,这看起来像是最原生的方式,而 cmd 没有所需的命令
【讨论】:
我已阅读上述所有解决方案并理解它们。我不明白你的步骤。我正在选择具有最佳优点和缺点的解决方案。【参考方案23】:您可以使用以下语法,我有同样的问题,认为不需要脚本。
runas /profile /user:domain\username cmd
这对我有用,在您的网络上可能会有所不同。
【讨论】:
【参考方案24】:只需使用命令: runas /noprofile /user:administrator cmd
【讨论】:
【参考方案25】:我通过在 cmd
中使用以下命令轻松做到了runas /netonly /user:Administrator\Administrator cmd
输入此命令后,您必须输入您的管理员密码(如果您不知道您的管理员密码,请将其留空,然后按 Enter 或输入一些内容,对我有用)..
【讨论】:
没有帮助我 @DzmitryLahoda 你能告诉我你遇到的错误吗?【参考方案26】:按下 Windows + X 键,您现在可以选择具有管理员权限的 Powershell 或命令提示符。如果您是管理员,则可以使用。如果系统不是您的,该功能可能无法使用。
【讨论】:
【参考方案27】:我在 .Net ExecElevated.exe, 13KB 中创建了这个工具,它将使用提升的令牌执行应用程序(在管理员模式下)。 但是你会得到一个 UAC 对话框来确认! (如果 UAC 已被禁用,可能不会,还没有测试过)。
调用该工具的帐户也必须具有管理员权限。当然是权利。
使用示例:
ExecuteElevated.exe "C:\Utility\regjump.exe HKCU\Software\Classes\.pdf"
【讨论】:
我只是喜欢“这可能还没有测试过”的答案,当然还有“不确定”的答案...... 链接已损坏。 链接重新建立,抱歉 请不要使用来自网络的“帮助您提升权限”的随机可执行文件。糟糕,糟糕的做法。 对,至少把这些东西的源代码贴出来。【参考方案28】:我使用runas /user:domainuser@domain cmd
成功打开了提升的提示。
【讨论】:
它需要另一个用户的凭据。如果您已经是管理员并且想要以提升的权限运行,例如当您右键单击应用程序并选择以管理员身份运行并且不需要密码时,只需一个确认对话框,那么您需要其他东西。我来这里是为了寻找答案,但似乎不在这里。【参考方案29】:有多种方法可以打开提升的 cmd,但只有您的方法适用于标准命令提示符。你只需要输入user
而不是username
:
runas /user:machinename\adminuser cmd
查看Microsoft community的相关帮助。
【讨论】:
这与运行提升的命令不同,因为当我打开提升的 cmd 窗口并键入“whoami”时,它会带来与非提升窗口相同的结果。当我在这两种情况下运行“whoami /all”时,我可以看到同一用户在权限方面的差异。以上是关于如何使用CMD打开某应用程序命令行并在打开的应用程序中执行指定命令?的主要内容,如果未能解决你的问题,请参考以下文章
Python启动Windows cmd(.bat)命令行并kill进程