Batch file 如何在批处理文件中仅以管理员身份运行一行?

Batch file 如何在批处理文件中仅以管理员身份运行一行?,batch-file,command-line,wireshark,runas,Batch File,Command Line,Wireshark,Runas,这是我在这里的第一个问题,所以当批评任何事情时,请尽量具有建设性 我正在尝试使用一个批处理(.bat)文件使我的Wireshark便携版工作。这是我当前的代码: @echo on @echo _wireshark is starting_ @echo ... @echo off runas /noprofile /savecred /user:Michal "cmd /c sc stop npf" start "" /wait WiresharkPortable.exe runas /nopro

这是我在这里的第一个问题,所以当批评任何事情时,请尽量具有建设性

我正在尝试使用一个批处理(.bat)文件使我的Wireshark便携版工作。这是我当前的代码:

@echo on
@echo _wireshark is starting_
@echo ...
@echo off
runas /noprofile /savecred /user:Michal "cmd /c sc stop npf"
start "" /wait WiresharkPortable.exe
runas /noprofile /savecred /user:Michal "cmd /c sc stop npf"
@echo on
@echo _Thanks for sniffing around_
@echo _Bye now.
@pause
runas行出现问题,假定它们打开了新的cmd窗口,但未执行sc stop npf(使用cmd/k选项进行检查)

有人能帮我找到我的错误吗

问候,,
Michal首先,你真的不需要在每一行前面都加上@,你只需要在开头加上它

@echo off::此处的其余代码

因此,我不会在一切之前键入@,而是键入

@echo off
echo _wireshark is starting_
echo ...
runas /noprofile /savecred /user:Michal "cmd /c sc stop npf"
start "" /wait WiresharkPortable.exe
runas /noprofile /savecred /user:Michal "cmd /c sc stop npf"
echo _Thanks for sniffing around_
echo _Bye now.
pause
我也会删除所有不必要的
@echo on(off)
命令,一是因为它使打字更快更容易,二是看起来更整洁


你可能也想做
pause>nul
,这正是我的偏好,所以老实说这并不重要。

请确定你的问题标题。这应该是一个问题…
runas/noprofile/savecred/user:Michal“cmd/c pause”
现在我读了你的问题标题-你知道问题是什么了。您没有足够的权限运行
sc.exe
New cmd窗口,该窗口打开时显示消息“按任意键继续…”-因此它工作正常。然而,我的线路仍然不能正常工作。目标是1)能够使用一个.bat文件打开wireshark;2) 此文件应启动npf服务,运行wireshark,等待关闭并卸载npf驱动程序。我只是想提一下,当一步一步手动完成时,整个过程都可以正常工作。我不知道?我的用户名Michal具有管理员权限。谢谢你提供的有用提示。然而,它们并不能解决我最初的问题。