![如何在 Windows 中将命令开关(/x)与参数分开?](https://linux22.com/image/1629034/%E5%A6%82%E4%BD%95%E5%9C%A8%20Windows%20%E4%B8%AD%E5%B0%86%E5%91%BD%E4%BB%A4%E5%BC%80%E5%85%B3%EF%BC%88%2Fx%EF%BC%89%E4%B8%8E%E5%8F%82%E6%95%B0%E5%88%86%E5%BC%80%EF%BC%9F.png)
我知道在 Linux 中,我只需写command -a -b - "arg1" "arg2"...
,其中单个连字符是“选项/开关”分隔符。但我如何在 Windows cmd 中做类似的事情?
我只想从帮助中看到特定的选项/开关:
c:\> setx /? | findstr /r '/m'
,/m
我想在其中找到开关。但是findstr
将它用作另一个开关:
FINDSTR: Bad command line
。
如何实现这一点?
答案1
我想找到/m
开关
我在用着:
setx /? | findstr /r '/m'
您不需要
/r
开关(指定正则表达式'/m'
) 不是正则表达式。你使用了错误的引号(单引号
'
而不是"
),应该是"/m"
setx /?
输出/M
,因此您需要使用/I
(忽略大小写)或"/M"
/
需要对 in进行"/m"
转义(使用\
),即"\/m"
,如果您没有使用/C:
(使用字符串作为文字搜索字符串)选项
以下命令均可执行您想要的操作:
setx /? | findstr "\/M"
setx /? | findstr /c:"/M"
setx /? | findstr /i "\/m"
setx /? | findstr /i /c:"/m"
示例输出:
F:\test>setx /? | findstr "\/M"
SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]
SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]
/F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]
/M Specifies that the variable should be set in
SETX MACHINE "COMPAQ COMPUTER" /M
NT\CurrentVersion\CurrentBuildNumber" /M
CurrentVersion\CurrentBuildNumber" /M
F:\test>setx /? | findstr /c:"/M"
SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]
SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]
/F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]
/M Specifies that the variable should be set in
SETX MACHINE "COMPAQ COMPUTER" /M
NT\CurrentVersion\CurrentBuildNumber" /M
CurrentVersion\CurrentBuildNumber" /M
F:\test>setx /? | findstr /i "\/m"
SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]
SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]
/F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]
/M Specifies that the variable should be set in
SETX MACHINE "COMPAQ COMPUTER" /M
NT\CurrentVersion\CurrentBuildNumber" /M
CurrentVersion\CurrentBuildNumber" /M
F:\test>setx /? | findstr /i /c:"/m"
SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]
SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]
/F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]
/M Specifies that the variable should be set in
SETX MACHINE "COMPAQ COMPUTER" /M
NT\CurrentVersion\CurrentBuildNumber" /M
CurrentVersion\CurrentBuildNumber" /M
F:\test>