gpt4 book ai didi

powershell - 如何在 Windows Powershell V2.0 中使用通配符

转载 作者:行者123 更新时间:2023-12-04 01:40:47 25 4
gpt4 key购买 nike

我正在尝试通过 Powershell V2.0 命令行中的重命名进行简单复制,如下所示:

Copy-Item my_file.* my_file_old.*

我希望它的功能与 DOS 等价物相同

copy my_file.* my_file_old.*

但是,它因投诉“路径中的非法字符”而失败。如果我将通配符 * 替换为特定的文件编号,例如1,效果不错。

我想我基本上是在尝试复制那个 DOS 版本,但是在 Powershell 中,一旦我整理好这个基本版本,我想在其中使用 -Exclude 参数。

我做错了什么?我发现另一个论坛上的一些帖子建议 V2.0 不支持通配符,但我不敢相信。这就像微软说“我们刚刚发布了新版本的 Windows,却忘了支持键盘和鼠标”。

最佳答案

如果您查看有关Copy-Item 的帮助,它会告诉您哪些参数支持通配符,哪些不支持。 -Destination不支持通配符:

-Destination Specifies the path to the new location. To rename a copied item, include the new name in the value.

  Required?                    false
Position? 2
Default value
Accept pipeline input? true (ByPropertyName)
Accept wildcard characters? false

你可以用一小段脚本做你想做的事:

Get-ChildItem my_file.* | Copy-Item -Dest {$_.basename + "_old" + $_.extension} -WhatIf

删除 -WhatIf 参数,如果您满意它会正确复制文件。

关于powershell - 如何在 Windows Powershell V2.0 中使用通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19793741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com