【发布时间】:2020-05-13 00:51:17
【问题描述】:
我是 PowerShell 新手,但遇到了一些问题。
如何使用 PowerShell 根据文件名移动文件?
将 0001_ddmmyy_username[active1]_L_kkkkk.pdf 移动到 C:\Users\abc\London
将 0001_ddmmyy_jacky[active1]_R_kkkkk.pdf 移动到 C:\Users\abc\Russia
将0001_ddmmyy_jim[active1]_P_kkkkk.pdf 移动到 C:\Users\abc\Poland
我使用以下代码将文件移动到名为 London 的文件夹中。如果文件名中包含任何带有文本 [kkkk] 的方括号,则会失败。
gci 'C:\Users\abc' -Recurse -Include "*_L*" | %{ Move-Item $_.FullName 'C:\Users\abc\London'}
如何实现自动化?
【问题讨论】:
-
对于某些 cmdlet,当您使用
-Path并且完整文件名的任何部分包含[]时,您会得到奇怪的结果。它也发生在其他一些字符上,但这些是我记得的唯一字符。解决方法是使用-LiteralPath参数而不是-Path参数。 您正在使用-Path参数,因为您没有指定任何内容 - cmdlet 默认为-Path。 查看Get-Help Move-Item -Parameter *path*的输出。
标签: powershell