Powershell 查询

Powershell 查询
  1. 是否有命令行 bash 的 !$ (匹配前一个命令的最后一个单词)

  2. 任何删除前一个单词的快捷方式。例如:cd D:\programs\scrap .<ctrl+backspace>删除单词“scrap”

  3. <br>在输出中用换行符替换标签。我尝试过这个:

    PS D:\program files\wamp\www\play> p .\delete.php | Foreach-Object {$_ -replace " <br>", "\n"}

    1310210455\n13101240552218 //输出

它确实用 \n 替换了
,但并没有创建换行符,而只是纯文本 \n。修复了吗?

  1. cd d:\pro 完成了目录名,但没有添加。为什么?有可能修复它吗?

现在就这些了。powershell 现在真的对我有用了。谢谢

答案1

1) $$ 将匹配前一个命令的最后一个标记。例如:

C:\PS> cd 'C:\Program Files'
C:\Program Files>$$
C:\Program Files
C:\Program Files>

2)<ctrl+backspace>如果您使用的是 PowerShell ISE,则会删除前一个单词,但 Windows 控制台不支持删除前一个单词。您可以在隐藏脚本窗格的情况下运行 ISE,这样就只剩下命令窗格和输出窗格。

3) 要在字符串中放置换行符,请使用“n”。例如:

PS D:\program files\wamp\www\play> p .\delete.php | Foreach-Object {$_ -replace "<br>", "`n"}

4) 我不确定你的最后一个问题是什么。你说“但没有添加 ”。在“a”和“.”之间是否缺少了什么?我假设它是一个“\”。如果是,你可以在引号后添加一个反斜杠,然后继续使用制表符完成。下次你按制表符时,PowerShell 会移动引号。例如

cd c:\pro<tab>收益 ->cd 'C:\Program Files'然后,

cd 'C:\Program Files'\mic<tab>收益 ->cd 'C:\Program Files\Microsoft'

答案2

您还可以执行以下操作:

gc myfile.txt | %{$_ -replace '$`r`n','MyValue'}

因此,上述操作将从行尾删除回车符,并将其替换为我的价值

相关内容