Powershell-从文件名创建一个文件夹,然后将该文件放在文件夹中

布赖恩·菲舍尔

我有一个文件列表说...

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的文件夹。

然后,我需要脚本将适当的文件放置在文件夹中。

我在此线程中找到了一些代码,但是它们并不能完全满足我的要求。

https://superuser.com/questions/306890/windows-batch-script-to-create-folder-for-each-file-in-a-directory-name-it-tha

    $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
}

有什么帮助吗?

乔伊

这里最简单的方法是按第一部分对文件进行分组,然后将其成为目录名。在典型的PowerShell管道方式中,这非常简洁:

Get-ChildItem -File |  # Get files
  Group-Object { $_.Name -replace '_.*' } |  # Group by part before first underscore
  ForEach-Object {
    # Create directory
    $dir = New-Item -Type Directory -Name $_.Name
    # Move files there
    $_.Group | Move-Item -Destination $dir
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Powershell 更改文件夹内一个子文件夹(副文件夹名称)中的部分文件名

Powershell从文件夹中捕获第一个文件名

使用powershell将不同文件夹中的各种文件保存到一个文件夹中

将一个.txt文件与Powershell中的.txt文件的文件夹进行比较

重命名文件夹,并与现有文件夹合并(如果Powershell中存在该文件夹)

读取文件,然后使用 Powershell 脚本将内容从一个文件夹移动到另一个文件夹

PowerShell 创建一个包含零大小文件的重复文件夹

在Powershell中的一个zip文件中添加多个文件夹

如何使用PowerShell从热文件夹中获取最后一个文件?

如果文件名包含文件夹名,则 Powershell 将文件复制到文件夹

Powershell遍历文件夹,在每个文件夹中创建文件

在Powershell中创建文件夹和文件

使用 PowerShell 从文件夹中获取文件名的最快\最好的方法是什么?

PowerShell获取文件名,文件夹中没有路径和TSV行数

使用Powershell脚本在文件夹中获取某些文件名

Powershell脚本获取具有文件夹的文件名和文件大小的csv文件

PowerShell 脚本通过创建两个同名的子文件夹来将 jpg 文件从一个文件夹复制到另一个文件夹

Powershell从一个路径创建许多文件夹

使用Powershell创建多个文件夹

使用Powershell创建子文件夹

Powershell - 列出目录中的所有文件夹,在每个文件夹中提取最新的 .bak 文件,压缩它,将其复制到一个目录

在 PowerShell 中的一个文件夹中静默安装多个 exe 安装程序

根据文件名时间戳Powershell将文件移动到年/月文件夹

powershell获取项目| 复制项目不只保留一个文件夹的文件夹结构

如何使用Powershell将文件夹的内容复制到另一个特定的文件夹?

Powershell复制所有文件夹结构并排除一个或多个文件夹

Powershell如何复制整个文件夹结构,但排除一个文件夹及其内容

使用 PowerShell 将多个子文件夹复制到一个文件夹

在多个根文件夹中创建子文件夹所需的批处理或PowerShell脚本