【发布时间】:2017-05-18 23:46:27
【问题描述】:
我有一个文件列表说...
T123_Product_1.jpg
T123_Product_2.jpg
T123_Product_3.jpg
T456_Product_1.jpg
T456_Product_2.jpg
T456_Product_3.jpg
等等。等等等等,大约还有 900 个文件
我需要做的是根据第一个下划线之前的字符创建一个文件夹,但不要重复它,因为有多个文件。
所以在上面的示例中,我只想要两个名为 T123 和 T456 的文件夹。
然后我需要脚本将适当的文件放在文件夹中。
我在这个帖子中找到了一些代码,但它们并不完全符合我的要求。
$Files = Get-ChildItem -Path 'C:\Info\AUGUST 2011\Checklists\' -Filter 'DET1__*'
$Files | ForEach-Object {
$FileFullName = $_.FullName
$TempFileName = "$($FileFullName).tmp"
$DestinationFileName = "$FileFullName\$($_.Name)"
Move-Item $FileFullName $TempFileName
New-Item -Path $FileFullName -ItemType Directory
Move-Item $TempFileName $DestinationFileName
}
有什么帮助吗?
【问题讨论】:
-
嗨,你试过什么?
-
我正在查看此代码,来自我发现的另一个线程,但不完全是它。这就是上面的代码所做的。创建一个文件夹,将文件名的其余部分(在 DET1__ 之后)作为文件夹的标题将该文件移动到该特定文件夹 @sodawillow
标签: file powershell directory naming