0

很多时候我需要将文本文件从 UCS-2 Little Endian 编码为 ANSI 并以相同的名称保存。是否可以自动化此过程?例如使用参数运行 Notepade ++,或者使用特殊脚本?

4

1 回答 1

0

我已经对 5000 多个文件进行了此操作。我使用 AutoHotKey 发送击键

  1. 在文件列表窗口中,在文件名上按回车键,以便在记事本++中打开
  2. Notepad++ 激活并准备就绪后,触发转换
  3. 在记事本++中关闭文档
  4. 切换回文件列表窗口
  5. 发送向下箭头以继续下一行

我暂时禁用了语法着色(我有 Visual Basic 文件)以更快地打开文件。

我在 Total Commander(而不是 Windows 资源管理器)中使用文件列表的宏 ( WinKey+F5) 是:

SendMode Input
DetectHiddenWindows, On
SetTitleMatchMode, RegEx

#F5::
    KeyWait,AppsKey

    Loop, 10 {
        MouseGetPos, xpos, ypos
        If (xpos == 0)
            Break
        Send {F4}
WaitNPP:
        Sleep, 20
        IfWinNotActive, .*Notepad
            ;MsgBox nax
            Goto, WaitNPP

        Send !c
WaitDialog:
        Sleep, 50
        IfWinNotActive, .*Column
            Goto, WaitDialog

        Send {Esc}
        Sleep, 50
        Send ^+{F8}^s^w
        ;!+F8 was created as custom shortcut in N++
        Sleep, 100
        Send #1
WaitTC:
        Sleep, 20
        IfWinNotActive, .*Commander
            Goto, WaitTC

        Send {Down}
        ;Run C:\Tools\notifu.exe /p "Conversion to UTF-8" /m "1 of 10" /d 500
        ;Sleep, 500
    }
Return

循环设置为处理 10 个文件。

在记事本++中,我通过按下我在记事本++中定义的设置来触发转换Ctrl+Alt+Shift+F8

于 2014-04-10T14:22:40.360 回答