powershell - 根据文件名生成文件夹并将文件移动到生成文件夹中的子文件夹
问题描述
我已经设法根据文件名创建文件夹,并将它们移动到相应的文件夹中。但我只是不知道如何将它们移动到相应文件夹的子文件夹中。
例子:
IMG1 创建文件夹 IMG1 并将文件移动到 \IMG1\Image\
IMG2 创建文件夹 IMG1 并将文件移动到 \IMG2\Image\
IMG3 创建文件夹 IMG1 并将文件移动到 \IMG2\Image\
提前致谢!
解决方案
你在寻找类似的东西
$PathToSearch = "C:\Users\mspow\Downloads\Test"
$Files = Get-ChildItem -Path $PathToSearch -File
foreach ($file in $Files)
{
New-Item -ItemType Directory -Force -Path ($PathToSearch + "\" + $file.BaseName + "\Image")
Move-Item -Path $file.FullName -Destination ($PathToSearch + "\" + $file.BaseName + "\Image")
}
我们使用 Get-ChildItem 来获取目录中所有文件的列表。然后对于这些文件中的每一个,首先我们使用文件的基本名称在该文件夹中创建一个新的子目录 - 没有扩展名的名称。然后我们将原始文件移动到新的子目录中。
推荐阅读
- knockout.js - 我可以在 Knockout 中“扩展”“值”绑定来进行简单的字符替换吗?
- c# - 遵循 MVVM 模式,如何创建一个“设置”函数来设置其他用户控件中的数据绑定项值?
- css - 六角 CSS 背景
- hibernate - 在 POST_LOAD 事件监听器中访问关联的 @OneToOne 实体的成员
- json - Kendo UI Bar chart series name from remote data
- javascript - 使用直接路径而不是“对象”更新值
- c - C - 在没有外部库的情况下设置 Printf 坐标
- java - 带有 4096 长度键的 JJWT 错误
- nixos - 如何在 nix-shell 中选择 GCC 版本?
- reactjs - 使用 React 处理 JWT 身份验证