Batch file Windows命令行-错误:%pid此时意外出现

Batch file Windows命令行-错误:%pid此时意外出现,batch-file,for-loop,cmd,Batch File,For Loop,Cmd,我试图通过命令行杀死一个Hybris服务器进程。当服务器启动时,它将进程ID(PID)写入一个文件。我想读一下PID然后杀了它。我正在为此发出以下命令,但每次我得到: 这是我发出的命令: for /f %pid in (D:\path_to_hybris\hybris\data\hybristomcat.lock) do taskkill /f /pid %pid 使用以下语法: for /f %p in (D:\path_to_hybris\hybris\data\hybristomcat.

我试图通过命令行杀死一个Hybris服务器进程。当服务器启动时,它将进程ID(PID)写入一个文件。我想读一下PID然后杀了它。我正在为此发出以下命令,但每次我得到:

这是我发出的命令:

for /f %pid in (D:\path_to_hybris\hybris\data\hybristomcat.lock) do taskkill /f /pid %pid

使用以下语法:

for /f %p in (D:\path_to_hybris\hybris\data\hybristomcat.lock) do taskkill /f /pid %p
如果在批处理文件中,则需要将
%

for /f %%p in (D:\path_to_hybris\hybris\data\hybristomcat.lock) do taskkill /f /pid %%p
将单词用作循环变量会导致问题。坚持一个字母

注意-正如@SomethingDark在评论中提到的,变量
p
区分大小写


我希望这有帮助。

使用以下语法:

for /f %p in (D:\path_to_hybris\hybris\data\hybristomcat.lock) do taskkill /f /pid %p
如果在批处理文件中,则需要将
%

for /f %%p in (D:\path_to_hybris\hybris\data\hybristomcat.lock) do taskkill /f /pid %%p
将单词用作循环变量会导致问题。坚持一个字母

注意-正如@SomethingDark在评论中提到的,变量
p
区分大小写


我希望这能有所帮助。

您能尝试在(D:\path\u to\u hybris\hybris\data\hybristomcat.lock)do taskkill/f/pid%pid%中将/f pid的行修改为:
?这有帮助吗?在执行此操作时,我得到以下错误:
in此时是意外的。
尝试:
for/f%p in(D:\path\u to\u hybris\hybris\data\hybristomcat.lock)do taskkill/f/pid%p
。我认为这应该行得通。是的,这行得通:)所以问题是pid是一个保留字不,
pid
不是一个保留字;需要一个只包含一个字母的循环引用,因此
%p
是好的,但是
%pid
是坏的。请注意,在批处理文件中而不是直接在命令提示符中使用
for
循环时,必须将
%%
符号加倍,因此使用
%%p
!在新的命令提示符窗口中键入
for/?
,以获取帮助文本并仔细阅读…是否可以尝试将(D:\path\u to\u hybris\hybris\data\hybristomcat.lock)do taskkill/f/pid%pid%中的/f pid行修改为:
?这有帮助吗?在执行此操作时,我得到以下错误:
in此时是意外的。
尝试:
for/f%p in(D:\path\u to\u hybris\hybris\data\hybristomcat.lock)do taskkill/f/pid%p
。我认为这应该行得通。是的,这行得通:)所以问题是pid是一个保留字不,
pid
不是一个保留字;需要一个只包含一个字母的循环引用,因此
%p
是好的,但是
%pid
是坏的。请注意,在批处理文件中而不是直接在命令提示符中使用
for
循环时,必须将
%%
符号加倍,因此使用
%%p
!在新的命令提示窗口中键入
for/?
,以获取帮助文本并仔细阅读…还值得一提的是,这是批次变量唯一区分大小写的时间。还值得一提的是,这是批次变量唯一区分大小写的时间。