2

когда мы используем F2 для переименования имен файлов, и после этого я хочу изменить регистр этих имен файлов

3 ответа3

2

Итак, вот быстрый скрипт AutoHotkey, который я создал вместе, который адаптирован к вашей конкретной ситуации (проверено и работает):

!r::
save := ClipboardAll
Send ^c
clipwait
oldclip := Clipboard
StringLower, newclip, oldclip
If (newclip == oldclip)
{
    StringUpper, newclip, oldclip
}
Clipboard := newclip
Send ^v{Enter}
Clipboard := save
return

После нажатия F2 для переименования, использование Alt + r изменит регистр папки. Если вы хотите поменять регистр каждой буквы отдельно, ну, это что-то совершенно другое. Я знаю, что большинство людей здесь не очень благодарны за анимированные GIF-изображения, встроенные непосредственно на страницу, поэтому, если вы хотите увидеть их в действии, нажмите здесь.

1

Для этого действительно есть скрипт AutoHotkey, как это было предложено посторонними звуками в комментариях.

Проверьте переключение / циклическое использование прописных букв в верхнем регистре на форумах AutoHotkey. Окончательная версия скрипта находится внизу страницы. Выделите весь код, поместите его в скрипт .ahk и запустите его (это, конечно, означает, что у вас установлен AutoHotkey).

Я проверил его, и он отлично работает в проводнике и большинстве редакторов. Когда имя файла выбрано, используйте сочетание клавиш CTRL+SHIFT+u, чтобы переключить регистр текста.

0

Мое решение этого в AHK

#SingleInstance Force

k := 1
<Shift::
save := ClipboardAll
Clipboard =
Send ^c
oldclip := Clipboard

if(newclip == oldclip){
}
else{
k := 1
}

if(StrLen(oldclip) = 0){
   msgbox, jai ganesh!
   return
}
else if (k = 1){ ;to inverse case 

newclip:= ""
 Loop % Strlen(oldclip) {
    Lab_Invert_Char:= Substr(oldclip, A_Index, 1)
    if Lab_Invert_Char is upper
       newclip:= newclip Chr(Asc(Lab_Invert_Char) + 32)
    else if Lab_Invert_Char is lower
       newclip:= newclip Chr(Asc(Lab_Invert_Char) - 32)
    else
       newclip:= newclip Lab_Invert_Char
}
else if(k = 2){ ;to lower case 
StringLower, newclip, oldclip

}
else if(k = 3){ ;to upper case 
StringUpper, newclip, oldclip
}
else if(k = 4){ ;to sentence case
 StringUpper newclip, oldclip, T
 }
}
k++
if (k = 5){
    k := 1
}
Clipboard := newclip
Send ^v
x:=StrLen(Clipboard)
Send {shift down}{Left %x%}{shift up}
Clipboard := save
return

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