powershell - 为每个文件创建文件夹并将文件移动到文件夹中
问题描述
我需要一个可以从 powershell 运行的命令来为目录中的每个文件(基于文件名)创建一个文件夹,然后将文件移动到新创建的文件夹中。
例子 :
起始文件夹:
Dog.jpg
Cat.jpg
以下命令非常适合为当前工作目录中的每个文件名创建一个文件夹。
结果文件夹:
\狗猫\
Dog.jpg
Cat.jpg
我想要实现的是:
\Dog\Dog.jpg
\Cat\Cat.jpg
有人可以帮我弄这个吗?
解决方案
我会尝试这样的事情:
Function Create-FolderAndMoveFile
{
param(
[string]$folder
)
$files = Get-ChildItem -Path $folder -Filter *.jpg
foreach($file in $files)
{
$dir = [io.path]::GetFileNameWithoutExtension("$file")
$dest = $("$folder\$dir")
New-Item $dest -ItemType Directory
Move-Item -Path $file.Fullname -Destination $dest
}
}
然后你可以调用这个函数Create-FolderAndMoveFile -folder C:\YourSuperAwesomePath\
,它会为每个 .jpg 文件创建一个文件夹。
希望这可以帮助
推荐阅读
- reactjs - 键入 React 命名空间
- python - 无法导入&导入无法解决
- presto - Presto 相当于组内
- teradata - 想在 teradata 的循环中插入语句
- c# - 当我使用 ApplicationDbContextFactory 时在服务上注册 DbContext
- laravel - Laravel Homestead 最新 mailhog 服务不可用
- python - 有效地将两个 numpy 数组的大小调整为两者中较小的一个
- javascript - Typeahead Bloodhound 不会在点击时关闭自动完成功能
- xcode - 找不到文件“Flutter/Flutter.h”致命错误 Flutter 2.5.1
- google-apps-script - 如何为 Google 表格图表设置水平(或垂直)轴数字格式?