当我们用来F2重命名文件名时,我想更改这些文件名的大小写
答案1
好吧,这里有一个我编写的快速 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,所以如果你想看看它的效果,点击这里。
答案2
确实有一个自动热键按照 outsideblasts 在评论中的建议,编写脚本。
查看切换/循环显示大写-小写-大写在 AutoHotkey 论坛中。脚本的最终版本位于页面底部。选择所有代码,将其放入 .ahk 脚本中并运行它(这当然意味着您已安装 AutoHotkey)。
我测试过,它在 Explorer 和大多数编辑器中运行良好。选择文件名后,使用CTRL+ SHIFT+u切换文本的大小写。
答案3
我在 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
答案4
#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
}
}
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