когда мы используем F2 для переименования имен файлов, и после этого я хочу изменить регистр этих имен файлов
3 ответа
Итак, вот быстрый скрипт 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-изображения, встроенные непосредственно на страницу, поэтому, если вы хотите увидеть их в действии, нажмите здесь.
Для этого действительно есть скрипт AutoHotkey, как это было предложено посторонними звуками в комментариях.
Проверьте переключение / циклическое использование прописных букв в верхнем регистре на форумах AutoHotkey. Окончательная версия скрипта находится внизу страницы. Выделите весь код, поместите его в скрипт .ahk и запустите его (это, конечно, означает, что у вас установлен AutoHotkey).
Я проверил его, и он отлично работает в проводнике и большинстве редакторов. Когда имя файла выбрано, используйте сочетание клавиш CTRL+SHIFT+u, чтобы переключить регистр текста.
Мое решение этого в 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