powershell - 在 PowerShell 中使用命令作为参数
问题描述
我正在尝试将一些文件递归移动到相对子文件夹中。
我想使用该get-location
命令并将其与字符串("\foo_1")组合,同时将其用作参数。
所以get-location
结果应该是“ D:\foo_2 ”,所以结果是“ D:\foo_2\foo_1 ”
同时作为单独命令的参数:
Get-ChildItem -Path ".\*.wav" -Recurse | Move-Item -Destination (get-location + "string")
我知道我可以只使用变量,但我真的很想了解这一点(如果有答案)。提前感谢=)
解决方案
您可以使用子表达式,如下所示:
Get-ChildItem -Path ".\*.wav" -Recurse |
Move-Item -Destination "$(Get-Location)\foo_1"
该结构$(...)
告诉 PowerShell 首先执行括号的内容(即 run Get-Location
),然后将结果替换为字符串。请注意,您必须使用双引号,因为此功能不适用于单引号字符串。
推荐阅读
- android - 带有 websocket 的 Expo v27/v28 Android 应用程序崩溃
- docker - 我可以通过内部 url 访问 docker 启动的服务吗?
- c++11 - C++:如何使用 lldb 调试“总线错误”?
- java - 选择项目时,Spinner 的 OnItemSelectedListener 不调用
- sql - 为什么“=”运算符在 SQL 查询中没有给出预期的结果?
- javascript - 将 SVG 组件作为背景图像反应到 div
- rxjs - Angular & RXJS - [ts] 属性 'map' 在类型'Observable 上不存在
' - ghostscript.net - 使用 Ghostscript 生成的输出 Tiff 文件中显示的位深度不正确
- php - 尽管使用了默认排序规则,但带有 UTF8 列的 PDO MySQL (MariaDB) 查询不区分大小写
- applescript - 如何在进程“Safari”和应用程序“Safari”之间获得相同的窗口?