当前位置:TranBon博客 > 首页 > 技术 > 根据目标文件夹批量重命名

根据目标文件夹批量重命名

adminis2个月前 (08-16)技术28230

我的文件夹G:\MailMasterData
aaa_1345
bbb_6545
cc.c_5455
****共54个

我的文件夹F:\MailMasterData
aaa_4852
bbb_3837
cc.c_1546
****共54个

我这2个目录里的文件夹开头命名一样,就“_”后不一样。
我需要把“F:\MailMasterData”里的批量重命名成“G:\MailMasterData”里的


要将F:\MailMasterData里的文件夹批量重命名为G:\MailMasterData里对应的文件夹名称,‌你可以使用Windows的PowerShell脚本。‌以下是一个更新的脚本示例,‌该脚本会读取两个目录下的文件夹名称,‌并将F:\MailMasterData中的文件夹重命名为G:\MailMasterData中对应的文件夹名称。‌

请确保在运行此脚本之前备份你的数据,‌以防止任何意外的数据丢失。‌


# 定义源目录和目标目录
$sourceDir = "F:\MailMasterData"
$targetDir = "G:\MailMasterData"

# 获取源目录和目标目录中的文件夹
$sourceFolders = Get-ChildItem -Path $sourceDir -Directory | Select-Object -ExpandProperty Name
$targetFolders = Get-ChildItem -Path $targetDir -Directory | Select-Object -ExpandProperty Name

# 创建一个字典来存储目标文件夹的名称映射
$targetFolderMap = @{}
foreach ($folder in $targetFolders) {
    # 提取文件夹名称的前缀部分(‌即"_"之前的部分)‌
    $prefix = $folder.Split('_')[0]
    # 将前缀和对应的完整文件夹名称添加到字典中
    $targetFolderMap[$prefix] = $folder
}

# 遍历源文件夹并重命名
foreach ($sourceFolder in $sourceFolders) {
    # 提取源文件夹名称的前缀部分
    $prefix = $sourceFolder.Split('_')[0]
    # 在目标文件夹映射中查找对应的前缀
    $targetFolderName = $targetFolderMap[$prefix]

    # 如果找到了对应的目标文件夹名称
    if ($targetFolderName) {
        # 构造源文件夹的完整路径
        $sourceFolderPath = Join-Path -Path $sourceDir -ChildPath $sourceFolder
        # 构造目标文件夹的完整路径(‌实际上不需要,‌因为我们只需要名称)‌
        # $targetFolderPath = Join-Path -Path $targetDir -ChildPath $targetFolderName

        # 重命名源文件夹为目标文件夹的名称
        Rename-Item -Path $sourceFolderPath -NewName (Join-Path -Path $sourceDir -ChildPath $targetFolderName)
    } else {
        Write-Host "No matching folder found for prefix: $prefix in source folder: $sourceFolder"
    }
}


这个脚本首先定义了两个目录变量$sourceDir$targetDir,‌然后分别获取这两个目录下的所有文件夹名称。‌接着,‌它创建了一个字典$targetFolderMap,‌用于存储目标文件夹名称的前缀和完整名称之间的映射。‌最后,‌它遍历源文件夹,‌并根据前缀在字典中查找对应的目标文件夹名称,‌然后进行重命名操作。‌

在运行脚本之前,‌请确保你有足够的权限来重命名这些文件夹,‌并且再次提醒你备份数据以防万一。‌如果文件夹名称中包含特殊字符或空格,‌并且这些字符或空格是重要的,‌请确保脚本正确处理了这些情况。‌


第7条随机版权

扫描二维码推送至手机访问。

版权声明:本文由TranBon博客发布,如需转载请注明出处。

本文链接:https://bk.tranbon.com/?id=336

“根据目标文件夹批量重命名” 的相关文章

在Centos 7 上安装Zabbix监控

在Centos 7 上安装Zabbix监控

一、关闭selinux和iptables && 安装Zabbix rpm包仓库 && 安装zabbix-server-mysql和zabbix-web-mysql && 安装并且启动mysql5.6及 数据库信息安全初始化、设置数据库root密码等[r...

vi编辑器教程

http://blog.sina.com.cn/s/blog_736f1c59010136ry.htmlhttp://blog.csdn.net/lanxinju/article/details/5731843Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配。注意,vi...

SSR 一键部署脚本

一个逗比写的逗比脚本ssr.sh脚本说明: ShadowsocksR 一键安装/管理脚本,支持单端口/多端口切换和管理系统支持: CentOS6+ / Debian6+ / Ubuntu14+使用方法: https://doub.io/ss-jc42/项目地址: https://...