这是我的第一个问题,所以在批评任何事情时,请尽量保持建设性。
我正在尝试使用一个批处理(.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 选项进行检查)。
有人能帮助我找到我的错误吗?
此致 米甲
答案 0 :(得分:1)
首先,你真的不需要在每一行之前放置@,真的你只需要在开头
@ echo off :: rest of code here
所以不要在所有内容之前输入@,而是输入
@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
这只是我的偏好,所以它并不是那么重要。