我在D:\上有一个驱动器,其中的文件夹和文件布局如下:“ThisFolder\ThisFolder09.mp3”和“OtherFolder\OtherFolder13.mp3”
我需要将它们复制到E:\,该文件夹包含以下文件夹(此处我使用以前的名称)“ThisFolder\ThisFolder.mp3”和“OtherFolder\OtherFolder.mp3”
末尾的数字永远不会超过2位数,它们是周数;因为一年大约有52周,比如第二周就是一年的第二周。
以这个文件夹为例,我需要将“D:\这个文件夹\这个文件夹09.mp3”复制到“E:\这个文件夹\这个文件夹.mp3”
我考虑过使用Copy-Item进行复制,但我找不到如何从文件名中删除周数。
2条答案
按热度按时间pcww981p1#
您可以使用
-replace '\d+$'
删除文件.BaseName
(不带扩展名的文件名)的结尾数字。例如:siv3szwd2#
X1 E0 F1 X提供了关于按需修改文件 * 名称 * 的关键指针。
要解决希望保持 * 目录路径 * 与输入文件中的相同,但在 * 不同的驱动器*上的问题,请使用以下命令-假设目标驱动器上的目标目录已经存在:
注:上述命令中的
-WhatIf
公共参数 * 预览 * 操作。删除-WhatIf
,并在确定操作将执行所需操作后重新执行。**如果需要在目标驱动器上 * 按需 * 创建目标目录,**则需要做更多工作: