您尚未登录。

#1 Re: RK3288/RK3399/RK1108 » WSL下编译buildroot,sysroot/usr/share/terminfo 下的目录名都是 ASCII 码,请问怎么解决? » 2025-01-02 21:11:27

今天我也碰到了同样的问题,原因其实很简单,windows系统的文件夹不区分大小写,而linux是区分大小写的。比如文件夹L和文件夹l,在windows下不允许同时存在,为了区分他们两,就只能把文件夹名称改为ascii码了。
我的解决方式是用gpt搓一个powershell脚本,先统一把ascii码文件夹重新命名成abcd之类的,然后再把没能成功命名的文件夹里面的内容手动拷贝到对应的文件夹内,比如61里面的东西拷贝到A,6c里面的文件拷贝到L,就成功通过了terminfo部分的编译。
脚本指令如下:


# 获取当前目录下所有文件夹,并按名称的长度倒序排序(确保较长的文件夹先处理)
Get-ChildItem -Directory | Sort-Object { $_.Name.Length } -Descending | ForEach-Object {
    # 获取文件夹名
    $folderName = $_.Name
    # 检查文件夹名称是否是十六进制数字
    if ($folderName -match '^[0-9A-Fa-f]+$') {
        # 将十六进制字符串转换为十进制整数
        $decimalValue = [Convert]::ToInt32($folderName, 16)
        # 将十进制数转换为对应的字符
        $newName = [char]$decimalValue
        # 检查新名称是否包含非法字符
        if ($newName -match '[\\/:*?"<>|]') {
            Write-Host "Skipping folder $folderName because the new name contains illegal characters."
        } else {
            # 重命名文件夹
            Rename-Item $_.FullName -NewName $newName
            Write-Host "Renamed folder $folderName to $newName"
        }
    }
}

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn