📅  最后修改于: 2023-12-03 15:18:40.913000             🧑  作者: Mango
在许多项目中,我们经常需要对文件进行批量操作,如重命名、移动、复制、删除等。对于 Windows 环境下的用户,PowerShell 是一款非常强大的命令行工具,可通过编写 PowerShell 脚本来快速完成此类操作。
本文将介绍如何使用 PowerShell 中的脚本批量重命名并向文件名添加额外的字符串。我们还将使用 Python 编写一个小工具,帮助我们自动生成此类脚本,从而提高我们的效率。
下面是一个简单的 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_'
可以根据自己的需求进行修改。
编写 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 控制台中,即可执行批量重命名操作。
通过本文的介绍,我们学习了如何使用 PowerShell 脚本批量重命名并向文件名添加额外的字符串,还编写了一个 Python 脚本来帮助我们自动生成 PowerShell 脚本,提高了我们的效率。希望本文能对大家有所帮助!