在powershell命令提示符下用其值替换变量


0

在Windows PowerShell中,是否有一种“评估”变量的方法,以便将其值粘贴到命令提示符下?我要执行的使用场景如下:

假设我有一个$path包含“ C:/ Users / Me / Some / Long / Path” 的变量。我想cd $path在命令提示符下写入内容,然后$path用其值替换,这样我就可以cd C:/Users/Me/Some/Long/Path在命令提示符下使用它并可以手动编辑长路径,并最终按Enter更改目录。是否存在这种或类似行为?仅使用变量,而不cd使用开头是否有可能?

Answers:


0

有一种方法-它有点小巧,无法始终正常工作。以您的cd为例,如果您键入:

cd $path\<TAB>

PowerShell将扩展$ path为其值,但前提是存在子目录。如果$ path是叶目录,PowerShell根本不会替换文本。

现在,对于烦人的部分-PowerShell不仅可以扩展变量,还可以包括第一个可能的完成。如果这不是您想要的,则必须删除该文本。如果您知道所需路径的一部分,则最好添加它,例如:

cd $path\*part<TAB>

请注意,我包含一个领先的通配符-效果很好。不需要尾随通配符,PowerShell假定您在点击时想要尾随通配符。

此技巧也可以与其他命令一起使用,例如,如果您想完成文件而不只是目录,请尝试:

cat $path\<TAB>

尽管可以在其他一些有限的情况下使用,但此技巧最适合路径。

但是,如果没有命令,这绝对是行不通的-老实说,命令名称的大小无关紧要。


感谢您的回答!好吧,我实际上想更改它最初指向的目录上方路径中的某些内容,但是这种方法至少可以胜于手动键入整个路径:)
mz8i 2014年

我想到了另一种选择。运行:'echo $ path | 剪辑”,然后“ cd”并从剪贴板粘贴,但是您可以执行此操作-右键单击或Alt + Space,E,P,或者如果您具有PSReadLine,则按Ctrl + V。
詹森·希克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.