PowerShell 和 Git Bash 是两种常见的命令行工具,它们有各自的特点和使用场景。下面是对这两者的详细介绍:

PowerShell

概述
开发者:Microsoft
初次发布:2006年
平台:Windows, macOS, Linux
基础:.NET Framework 和 .NET Core(新版本使用 .NET Core)
目的:用于任务自动化和配置管理
特点
对象导向:PowerShell 使用对象而不是纯文本,命令的输出是对象,可以直接操作这些对象的属性和方法。
脚本语言:支持复杂的脚本编写,可以用于自动化任务和配置管理。
集成 Windows:与 Windows 系统深度集成,可以管理注册表、文件系统、服务等。
跨平台:自 PowerShell Core 以后,支持在 macOS 和 Linux 上运行。
强大的管道功能:支持将命令的输出通过管道传递给另一个命令,并保留数据的对象性质。

 常用命令

 获取帮助:

Get-Help <command>

列出文件和文件夹:

Get-ChildItem

创建文件夹:

New-Item -Path . -Name "folderName" -ItemType "directory"

删除文件夹:

Remove-Item -Path "folderName" -Recurse

复制文件:

Copy-Item -Path "sourcePath" -Destination "destinationPath"

移动文件:

Move-Item -Path "sourcePath" -Destination "destinationPath"

Windows PowerShell

Get-ChildItem -Filter *.webp | ForEach-Object {
    $newName = $_.BaseName + ".jpg"
    magick $_.Name $newName
}
  • Get-ChildItem -Filter *.webp:获取当前目录下所有.webp扩展名的文件。
  • ForEach-Object:对获取到的每一个文件执行接下来的代码块。
  • 在代码块中,$_.BaseName + ".jpg"用于构造新的文件名(即将原文件的.webp扩展名替换为.jpg),然后调用magick命令将原文件转换为新的.jpg文件。

linux 和 Mac OS

for file in *.webp; do
  magick "$file" "${file%.webp}.jpg"
done