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

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

adminis1个月前 (08-16)技术14920

我的文件夹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,‌用于存储目标文件夹名称的前缀和完整名称之间的映射。‌最后,‌它遍历源文件夹,‌并根据前缀在字典中查找对应的目标文件夹名称,‌然后进行重命名操作。‌

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


第9条随机版权

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

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

本文链接:http://user.33ol.com/?id=336

返回列表

上一篇:chkconfig

没有最新的文章了...

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

哈哈哈!大神Note3 终于可以把 酷派系统 或着 酷派系统 “砖头”直接刷机刷成 360 OS 2.0!

哈哈哈!大神Note3 终于可以把 酷派系统 或着 酷派系统 “砖头”直接刷机刷成 360 OS 2.0!

哈哈哈!大神Note3 终于可以把 酷派系统 直接刷成 360 OS 2.0了哈哈哈!大神Note3 终于可以把 酷派系统 “砖头”直接刷成 360 OS 2.0了最新版的刷机软件就可以了,直接把 酷派系统 或着 酷派系统 “砖头”直接刷机刷成 360 OS 2.0!下面重点:刷机软件 要是如下图,...

iis7 asp网站 500 - 内部服务器错误。

iis7 asp网站 500 - 内部服务器错误。

其它配置正常的情况下解决方法: 处理完成了!...

把ESXi中的虚拟机通过OVA/OVF导出的方式迁移到Proxmox 5

把ESXi中的虚拟机通过OVA/OVF导出的方式迁移到Proxmox 5

一、导出OVA/OVF首先第一步是从ESXi的管理客户端vSphere Client中把要迁移的虚拟机关机,然后选中它,在菜单“文件”-“导出”-“导出OVF模板”,然后格式选择“文件的文件夹(OVF)”(或者是“单个文件(OVA)”),等待导出完成。注:名称最是没有中文和一些特殊符号,符号可以使用...