我有这个想法,我应该从cmd.exe切换到powershell。它比经过试验和测试的cmd.exe强大得多。它是Windows的未来之壳。
但与cmd.exe相比,我在powershell中的设施非常有限。在每个角落,我发现了另一个看似无法克服的小障碍。
今天我尝试使用ctrl-C来停止正在运行的程序,在PowerShell中,它没有任何效果。 ??
上次通过它是“如何在powershell中做一个'dir / o'?”我知道如何在.cmd脚本中进行循环,我如何在PowerShell中执行此操作?
我需要一些建议:首先,尝试切换到PowerShell是个好主意吗?
如果是这样,问题2是:您对如何打破cmd.exe习惯的建议是什么?
答案 0 :(得分:19)
答案 1 :(得分:15)
为了帮助简化转换,请记住,您始终可以通过在任何带有“cmd / c”的命令前添加前缀来运行原始DOS命令。 E.g。
cmd /c dir /s
cmd /c start .
当然,还有PowerShell equatilents,但这个技巧将帮助您在学习PowerShell的同时保持高效。
答案 2 :(得分:3)
我一直处于同样的境地。我最后做的是关闭我的CMD窗口,该窗口通常是全天打开并保留PowerShell窗口并强制自己仅使用它。
当紧急情况发生时我只求助于CMD,我觉得我不能花时间在PS中弄明白。
我还不太熟悉PS,但我每天都在变好。
以下是一些好书和一些好资源的链接。
我非常喜欢这两本书:
另外,请查看以下网站:
答案 3 :(得分:2)
我建议阅读Windows Powershell in Action。然后在powershell中尽你所能。
答案 4 :(得分:2)
我的建议是在Action中阅读Windows PowerShell。但是,如果你还不想放弃那么多$$,请查看我放在一起的免费电子书:Effective PowerShell。另外,请给PowerShell一些时间。我认为它会在后端的黑桃中得到回报。
答案 5 :(得分:1)
当你开始坚持下去时,这似乎是不可逾越的。
在Powershell中,批处理停止的关键组合是Ctrl + BreakIr排序条款有一个Sort-Object命令行开关,因此您可以按任何属性进行排序。
所以你可以调用Get-ListItems |排序对象。 值得尝试学习命令行开关名称,而不是它所关联的别名。
如果一切都失败了,请问这里总是有很多知识可供使用。