如何使命令字符串在给定的参数中使用通配模式工作?
powershell.exe -c "&'c:\wind?ws\System32\more.com' C:\path\to\something.txt | findstr 'something'" -> 这个有效
这就是我想要做的,例如:
powershell.exe -c "&'c:\wind?ws\System32\more.com'C:\wind?ws\w?n.ini| findstr‘某物’”
我尝试使用另一个 &,但似乎被错误地解释
答案1
在cmd
,您可以使用全局通配符类似于*
并且?
仅在路径的最后一个元素中。
以下是(一些)等效的替代方案:
- 如果你坚持
more.com
并且findstr.exe
:
powershell.exe -nopro -c "& 'c:\wind?ws\Syst?m32\mor?.com' (Resolve-Path C:\wind?ws\w?n.ini) | findstr 'fil ext app'"
; for 16-bit app support [extensions] [mci extensions] [files]
- 使用本机 PowerShell 工具:
powershell.exe -nopro -c "(Get-Content C:\wind?ws\w?n.ini) -match 'fil|ext|app'"
; for 16-bit app support [extensions] [mci extensions] [files]