📜  powershell 批量重命名并向文件名添加额外的字符串 - Python (1)

📅  最后修改于: 2023-12-03 15:18:40.913000             🧑  作者: Mango

PowerShell批量重命名并向文件名添加额外的字符串 - Python

在许多项目中,我们经常需要对文件进行批量操作,如重命名、移动、复制、删除等。对于 Windows 环境下的用户,PowerShell 是一款非常强大的命令行工具,可通过编写 PowerShell 脚本来快速完成此类操作。

本文将介绍如何使用 PowerShell 中的脚本批量重命名并向文件名添加额外的字符串。我们还将使用 Python 编写一个小工具,帮助我们自动生成此类脚本,从而提高我们的效率。

1. PowerShell脚本

下面是一个简单的 PowerShell 脚本,用于在文件名的前面添加“prefix_”字符串:

$folderPath = 'C:\Users\username\Documents\input_folder'
$prefix = 'prefix_'

Get-ChildItem -Path $folderPath | ForEach-Object {
    $newName = $prefix + $_.Name
    Rename-Item $_.FullName $newName
}

使用此脚本时,需要设置$folderPath变量,该变量指定要处理文件所在的文件夹路径。$prefix变量指定要添加到文件名前面的字符串。

下面是一些示例,说明此脚本的用法:

  • C:\Users\username\Documents\input文件夹中的所有文件名称前面添加“prefix_”字符串:

    $folderPath = 'C:\Users\username\Documents\input_folder'
    $prefix = 'prefix_'
    
  • D:\data\pics文件夹中的所有文件名称前面添加“img_”字符串:

    $folderPath = 'D:\data\pics'
    $prefix = 'img_'
    

可以根据自己的需求进行修改。

2. Python脚本

编写 PowerShell 脚本时,需要注意一些细节,如文件名中包含空格、特殊字符等,应使用引号将它们作为字符串处理。为了方便,我们可以编写一个 Python 脚本,帮助我们自动生成 PowerShell 脚本。

下面是一个简单的 Python 脚本,用于在文件名的前面添加“prefix_”字符串:

import os

folderPath = 'C:\\Users\\username\\Documents\\input_folder'
prefix = 'prefix_'

for filename in os.listdir(folderPath):
    newName = prefix + filename
    oldPath = os.path.join(folderPath, filename)
    newPath = os.path.join(folderPath, newName)
    os.rename(oldPath, newPath)

print('Done!')

使用此脚本时,需要设置folderPath变量,该变量指定要处理文件所在的文件夹路径。prefix变量指定要添加到文件名前面的字符串。

运行此脚本后,会自动生成类似于 PowerShell 脚本的输出,如下所示:

Rename-Item "C:\Users\username\Documents\input_folder\file1.txt" "prefix_file1.txt"
Rename-Item "C:\Users\username\Documents\input_folder\file2.txt" "prefix_file2.txt"
Rename-Item "C:\Users\username\Documents\input_folder\file3.txt" "prefix_file3.txt"
Rename-Item "C:\Users\username\Documents\input_folder\file4.txt" "prefix_file4.txt"
Done!

将输出中的所有Rename-Item语句复制到 PowerShell 控制台中,即可执行批量重命名操作。

3. 总结

通过本文的介绍,我们学习了如何使用 PowerShell 脚本批量重命名并向文件名添加额外的字符串,还编写了一个 Python 脚本来帮助我们自动生成 PowerShell 脚本,提高了我们的效率。希望本文能对大家有所帮助!