【已解决】PCSX2纹理替换用的批处理。

五级用户 love18oe 2021-5-9 3717

@echo off
for %%i in ("%~dp0.") do set path=%%~ni
(for %%a in (*.dds) do echo, 0x%%~na: "%~dp0%%~na.dds")>%path%.txt
pause

PCSX2纹理替换用的批处理。

gsdx_20210509182831.png

6F80A846.png

9EFD1118.png


D8D7CBC8.png


上一篇:看到的三个网站
下一篇:2021年5月9日签到帖
最新回复 (17)
  • 六级用户 进站劣人 2021-5-9
    0 2
    卧槽?!!!
    我直接看成“有没有懂批的大佬”
    我。。。
  • 七级用户 oryxyang 2021-5-9
    0 3
    dir /w /b  > fold.txt        将文件夹内所有文件名保存到fold.txt
    dir /w /b *.zip > fold.txt 将文件夹内所有后缀为zip的文件名保存到fold.txt
    我是手工打开txt文件,使用ctrl+h将“zip”替换成“psp”这样,还是坐等大神出现吧

  • 五级用户 RtcBoy 2021-5-9
    0 4

    如果是真实的要批量修改文件扩展名:
    rename *.123 *.456
    资源管理器里文件按类型排序,鼠标框选一下,Ctrl+x然后到目标文件夹Ctrl+v
    如果是只是编辑txt文件,如楼上所说,保保存过后,用word打开,然后菜单选查找替换,高级,特殊字符,可以可以查找"."替换成制表符,然后Ctrl+A全选,Ctrl+C复制,然后打开记事本,Ctrl+V粘贴,然后在记事本里面Ctrl+A全选,Ctrl+C复制,打开excel,Ctrl+V粘贴,扩展名就变成单独一列,如果有很多不同的扩展名,可以先排序什么的,最后填充那一列成想要的扩展名就行了,前面需要加什么路径也是插入一列,填充一下。
    最后Ctrl+A全选,Ctrl+C复制,然后打开记事本,Ctrl+V粘贴,(此时需要将制表符换回"."如果需要高级的替换,还是在记事本里全选拷贝到word)然后在文本中复制一个制表符,菜单打开查找替换,把制表符替粘贴到查找内容里面,替换成".",然后保存成xxx.txt就成了

    之所以需要从记事本中转一下,是因为word和excel是互认格式的,会把excel的格子也复制到word里面,而记事本是不认格式的,就把格子什么的过滤掉了

    有条件的话记事本可以用notepad++替代,功能更强,或许不用word也能行了
    上python,几句话的事

  • 三级用户 jie82 2021-5-9
    0 5

    能用powershell脚本吗? win10自带的.


    cls
    # 源目录
    $src_dir="E:\\EmulatorGames\\Rom\\GBA"
    # 目标目录
    $dst_dir="D:\\Temp\\"
    # 切换当前目录
    cd $src_dir

    # 枚举当前目录下的每个*.sav文件
    Get-ChildItem -Filter *.sav | Foreach-Object{   
        # 把文件名:*.sav替换成*.sav.backup
       $NewName = $_.Name -replace "(.*?).sav""`$1.backup"
        # 打印新文件名
       Write-Host "[" $_ "]" "->" "[" $NewName "]"
        # 复制并改名文件
       Copy-Item -Path $_ -Destination $dst_dir+$NewName
    }


  • 五级用户 love18oe 2021-5-9
    0 6
    RtcBoy 如果是真实的要批量修改文件扩展名:rename *.123 *.456资源管理器里文件按类型排序,鼠标框选一下,Ctrl+x然后到目标文件夹Ctrl+v如果是只是编 ...

    我要改的不是原始文件名,是修改文本里的提取的文件名,不需要更改原始文件的文件

    例如

    原来TXT保存的文件名是

    00039D2B.png

    0773E5B8.png

    0E13B740.png

    0F968AB9.png

    1105ED41.png

    改成

      0x00039D2B : "当前根目录/00039D2B.dds"

      0x0773E5B8 : "当前根目录/0773E5B8.dds"

      0x0E13B740 : "当前根目录/0E13B740.dds"

      0x0F968AB9 : "当前根目录/0F968AB9.dds"

      0x1105ED41 : "当前根目录/1105ED41.dds"


    我现在用的方法很麻烦,先改原文件名,然后保存到文本,然后打开文本替换,还有把文件改回原名。

    就因为太繁琐了,想有没有一键bat就能搞定的,我目前有提取保存的bat没有自动修改的。


  • 五级用户 雨紛飛 2021-5-9
    0 7


    QQ截图20210509104757.png

    这个软件应该能满足你的要求,软件名见左上角

  • 五级用户 love18oe 2021-5-9
    0 8
    雨紛飛 这个软件应该能满足你的要求,软件名见左上角
    我有这软件,我要的不是改文件名
    是改txt里保存的文件名到指定格式
  • 五级用户 love18oe 2021-5-9
    0 9
    jie82 能用powershell脚本吗? win10自带的.cls# 源目录$src_dir="E:\\EmulatorGames\\Rom\\GBA"# ...
    不是改文件名,是改TXT里批量保存的文件名到指定格式
    例如
    原来TXT保存的文件名是
    00039D2B.png
    0773E5B8.png
    0E13B740.png
    0F968AB9.png
    1105ED41.png
    改成
      0x00039D2B : "当前根目录/00039D2B.dds"
      0x0773E5B8 : "当前根目录/0773E5B8.dds"
      0x0E13B740 : "当前根目录/0E13B740.dds"
      0x0F968AB9 : "当前根目录/0F968AB9.dds"
      0x1105ED41 : "当前根目录/1105ED41.dds"
  • 五级用户 love18oe 2021-5-9
    0 10
    RtcBoy 如果是真实的要批量修改文件扩展名:rename *.123 *.456资源管理器里文件按类型排序,鼠标框选一下,Ctrl+x然后到目标文件夹Ctrl+v如果是只是编 ...

    我这有个差不多功能的

    提取文件名保存txt,然后修改成指定的格式

    0000000000000000514625f6.png

    00000000000000006cbc6dcc.png是原始文件名到指定格式

    使用后效果如下

    0000000000000000514625f6 = 根目录/0000000000000000514625f6.png

    00000000000000006cbc6dcc = 根目录/00000000000000006cbc6dcc.png

    我现在需要改成

     0x00000000000000006cbc6dcc:“根目录/00000000000000006cbc6dcc.png"

    文件名前面加上0x,后面改成:“ "

    这代码怎么改?

    @echo off
    REM 
    chcp 65001
    CLS
    echo 删除旧hash...
    cd.>hash.txt
    echo 正在生成图片名列表...
    setlocal enabledelayedexpansion
    for /r %%i in (*.png) do (
    set s=%%i
    set s=!s:%~dp0=!
    echo !s!>> list2.txt
    )
    echo 正在生成hash列表...
    setlocal enabledelayedexpansion
    for /f "delims=" %%i in (list2.txt) do (
    set s=%%i
    set s=!s:~-28,24!
    echo !s%!>>list1.txt
    )
    @echo 正在合并...请稍等...
    @echo delims属于正常情况
    set num=0
    setlocal enabledelayedexpansion
    for /f "delims=" %%a in (list1.txt) do (
        if !num! equ 0 (
            set /p str=<list2.txt
            @echo %%~a = !str!>>list3.txt
        ) else (
            call:get !num! "%%~a"
        )
        set /a num+=1
    )>nul 2>nul 
    :get
    for /f "skip=%~1 delims=" %%b in (list2.txt) do (
        @echo %~2  = %%b>>list3.txt
        goto :eof
    )>nul 2>nul 
    @echo 正在标准化格式...
    setlocal enabledelayedexpansion
    for /f "delims=" %%f in (list3.txt)do (
      echo %%f >nul 2>nul 
      set "f=%%f"
      set "f=!f:\=/!"
      set "f=!f:  = !" 
      echo !f!>>hash.txt
    )
    @echo 删除临时文件...
    del list1.txt
    del list2.txt
    del list3.txt
    @echo 完成!
    TIMEOUT /T 5
    exit


  • 五级用户 RtcBoy 2021-5-9
    0 11
    #python代码
    filename  = input("请输入文件名: ")
    file2 = open("output.txt","w") 
    for line in open(filename):
        line=line.replace('\n', '').replace('\r', '')
        line2 = "0x"+line+":\"根目录/"+line+"\"\n"
        file2.write(line2) 
        print(line2)

    file2.close()
    exit
  • 三级用户 jie82 2021-5-9
    0 12
    love18oe 不是改文件名,是改TXT里批量保存的文件名到指定格式 例如 原来TXT保存的文件名是 00039D2B.png 0773E5B8.png 0E13B740.png 0F968AB9.png ...

    假设D:\Temp文件夹内有如下文件:

    0xabc.png

    0xbcd.png

    0xcde.png


    运行下面的命令, 会在D:\Temp\list.txt里生成如下内容:

     0xabc:D:\Temp\0xabc.dds

     0xbcd:D:\Temp\0xbcd.dds

     0xcde:D:\Temp\0xcde.dds


    cls
    # 源目录
    $src_dir="D:\Temp\"
    # 切换当前目录
    cd $src_dir

    # 枚举当前目录下的每个*.png文件
    Get-ChildItem -Filter *.png | Foreach-Object{
       # 设置替换模式为:<空格><主文件名>:<源目录><主文件名>.dds
       $pattern = `$1:" + $src_dir + "`$1.dds"
       # 生成文件中新的一行的内容
       $new_line = $_.Name -replace "(.*?).png"$pattern
       # 将一行内容添加到文本文件尾部
       Add-Content $src_dir"list.txt" $new_line
    }


  • 五级用户 love18oe 2021-5-9
    0 13
    jie82 假设D:\Temp文件夹内有如下文件:0xabc.png0xbcd.png0xcde.png运行下面的命令, 会在D:\Temp\list.txt里生成如下内容:&nbsp;0xabc:D:\ ...
    无法加载文件 C:\Users\love1\Desktop\新建文本文档.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 abo
    ut_Execution_Policies。
        + CategoryInfo          : SecurityError: (:) [],ParentContainsErrorRecordException
        + FullyQualifiedErrorId : UnauthorizedAccess
  • 五级用户 love18oe 2021-5-9
    0 14
    jie82 假设D:\Temp文件夹内有如下文件:0xabc.png0xbcd.png0xcde.png运行下面的命令, 会在D:\Temp\list.txt里生成如下内容:&nbsp;0xabc:D:\ ...
    @echo off
    for %%i in ("%~dp0.") do set path=%%~ni
    (for %%a in (*.png) do echo, 0x%%~na: "%~dp0%%~na.dds")>%path%.txt
    pause

    搞定了,虽然还要自己手动改下路径,但也比以前步骤方便多了。

    也感谢以上各位的帮助。

  • 三级用户 jie82 2021-5-9
    0 15
  • 六级用户 Linux_YL 2021-5-9
    0 16
    感觉论坛里的大神越来越多啊!
  • 四级用户 jeffnic 2021-5-9
    0 17
    不明觉厉啊
  • 六级用户 进站劣人 2021-5-10
    0 18
    我还是玩游戏吧。
    • 老男人游戏网配套论坛
      19
        立即登录 立即注册
发新帖
本论坛禁止发布SWITCH和PS4相关资源,若有其他侵权内容,请致邮3360342659#qq.com(#替换成@)删除。