x86 微博 开发组长/高级工程师/技术专家  2008年12月26日
PowerShell中如何rename带有方括号的文件名?
不知发在这里是否合适,好歹PowerShell跟C#差不多。
碰到一个很奇怪的问题,在PowerShell里怎么也rename不了一个带有方括号的文件名,因为方括号是正则表达式的字符,而PowerShell用反撇号作为转义符,这样就有一些很奇怪的问题。
比如文件[10]:
PS F:\temp> dir '`[10`]'
Get-ChildItem : 找不到路径“F:\temp\`[10`]”,因为该路径不存在。
所在位置 行:1 字符: 4
+ dir <<<< '`[10`]'


如果用两个反撇号就可以列出来:
PS F:\temp> dir '``[10``]'


目录: Microsoft.PowerShell.Core\FileSystem::F:\temp


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2008-12-25 11:03 22 [10]


但是rename就不行:
PS F:\temp> Rename-Item 'F:\temp\`[10`]' 'F:\temp\10'
Rename-Item : 指定路径 F:\temp\`[10`] 下的对象不存在。
所在位置 行:1 字符: 12
+ Rename-Item <<<< 'F:\temp\`[10`]' 'F:\temp\10'


无论用多少转义符都不行,哪位能帮我看看?

...全文
152 点赞 收藏 5
写回复
5 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C#
创建于2007-09-28

8.4w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告