use*_*778 6 windows shell-script escape-characters cmd.exe
我正在尝试在 Windows 的 shell 中的“FOR /F”中运行以下命令...
wmic process where ParentProcessId=%%PID%% get ProcessId
该=ParentProcessId和PID%%的保持gettings替换一个空格。
结果是:
for /F "usebackq" %b in (wmic process where ParentProcessId %PID% get ProcessId) do (.
我将如何转义此字符 = 符号?
尝试:
for /F "usebackq" %b in (`wmic process where ParentProcessId^=0 get ProcessId`) do echo %b
Run Code Online (Sandbox Code Playgroud)
“=”符号用“^”转义。另请注意,wmic根据您使用参数的要求,命令本身包含在“反引号”中usebackq。
for /F "usebackq" %%b in (wmic process where ParentProcessId=%PID% get ProcessId) do (
Run Code Online (Sandbox Code Playgroud)
上述有两个问题:
使用时"usebackq"需要在要处理的命令两边加上反引号for。
的子句"需要加引号。wherewmic
使用以下批处理文件:
@echo off
setlocal
set PID=1188
for /F "usebackq" %%b in (`wmic process where "ParentProcessId=%PID%" get ProcessId`) do (
echo %%b
)
endlocal
Run Code Online (Sandbox Code Playgroud)
输出示例:
F:\test>test
ProcessId
2508
10100
ECHO is off.
Run Code Online (Sandbox Code Playgroud)
笔记:
ECHO is off.行被输出,因为wmic输出最后一个空行。| 归档时间: |
|
| 查看次数: |
9994 次 |
| 最近记录: |