Я запускаю эмулятор Linux (или подсистему) под Windows 10, и иногда мне нужно пройти пути Windows в консоли Linux. Пути Windows используют обратную косую черту \ для разделения каталогов, тогда как пути Linux используют прямую косую черту / вместо этого.

Чтобы избежать замены \ на / вручную, я попытался использовать скрипт AHK для замены любого пути, который я копирую, но он не хочет работать.

Это мой сценарий (я отмечал, что в коде ##works until here## самая дальняя точка, где, кажется, работает):

^+7:: ; Ctrl+Shift+7 (/)

;Empty the Clipboard.
    Clipboard =
;Copy the select text to the Clipboard.
    SendInput, ^c
;Wait for the Clipboard to fill.
    ClipWait

;Perform the RegEx find and replace operation,
;where the needle is what we want to replace.
    haystack := Clipboard
    needle := "\"
    replacement := "/"
    result := RegExReplace(haystack, needle, replacement)

;Empty the Clipboard
    Clipboard =
;Copy the result to the Clipboard.
    Clipboard := result
;##works until here##
;Wait for the Clipboard to fill.
    ClipWait 

;-- Optional: --
;Send (paste) the contents of the new Clipboard.
    SendInput, %Clipboard%

;Done!
    return

Заранее спасибо за любые советы.

1 ответ1

0

Кажется, что для распознавания RegExReplace необходимо экранировать обратную косую черту, например:

needle := "\\"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .