3

Я устал от этих шагов при копировании и переименовании файла (Windows Explorer):

  1. CTRL+C
  2. CTRL+V
  3. Клавиши навигации
  4. F2

скриншот, показывающий переименование

Нет ли в Windows 7 функции или ярлыка для копирования файла и немедленного перехода в режим переименования?

Возможно, это сложный вопрос, но выполнение этого 50 раз в день позволит сэкономить как минимум 50 * 2 нажатий на клавиатуру.

PS: я знаю, что вы можете сделать это, используя копию CMD copy "file1.txt" "file2.txt" , но я бы хотел сделать это прямо в проводнике Windows.

3 ответа3

1

Я думаю, что ваш лучший путь - это написать какой-нибудь скрипт, который делает то, что вы хотите, а затем поместить его в реестр, чтобы он появлялся, когда вы щелкаете правой кнопкой мыши -> открыть в файле. Сценарий будет принимать ваш файл в качестве параметра, а затем копировать и переименовывать по вашему желанию (особенно, если вы хотите переименовать, как в примере, с суффиксом номера).

И если вы ищете только клавиатуру, вы можете поместить ярлык для вашего скрипта на рабочий стол, а в свойствах ярлыка назначить ему сочетание клавиш.

Если вам нужно дать конкретное имя файлу (то есть, не просто авто-суффикс), вы всегда можете извлечь собственное поле ввода из скрипта - это легко в большинстве языков.

Итог, если вы можете закодировать это, это может быть сделано ... Если нет, то это может быть хорошим контекстом для ваших первых шагов кодирования!

1

Используя скрипт программы AutoHotkey:

; Press F1 in Explorer or desktop to copy and rename the copy of the selected file:

#If WinActive("ahk_class CabinetWClass") or WinActive("ahk_class Progman")

    $F1::
    ClipSaved := ClipboardAll       ; save the entire clipboard to the variable ClipSaved
    clipboard := ""                 ; empty the clipboard (start off empty to allow ClipWait to detect when the text has arrived)
    Send, ^c                        ; copy the selected text, file or folder
    ClipWait, 2                     ; wait for the clipboard to contain data. 
    if (!ErrorLevel)                ; If NOT ErrorLevel clipwait found data on the clipboard
    {
        SplitPath, clipboard,, dir, ext, NameNoExt ; separate the file path into directory and extension
        If (ext = "")
        {
            MsgBox, No file selected
            clipboard := ClipSaved      ; restore original clipboard
            return
        }
       InputBox, UserInput, Filename, Enter a name for the file,, 350, 120,,,,, %NameNoExt%
        if (!ErrorLevel)    
            FileCopy, %clipboard%, %dir%\%UserInput%.%ext%, 1       
    }
    else
        MsgBox, No file selected
    clipboard := ClipSaved
    return

#If 
1
 ; Press F1 in Explorer to copy and manually rename the copy of the selected file
 ; - If the size of the selected is less 50 MB, directly in the explorer
 ; - otherwise using an input box (because the copying process takes more time) 

#If WinActive("ahk_class CabinetWClass")

    $F1::
    ClipSaved := ClipboardAll 
    clipboard := "" 
    Send, ^c 
    ClipWait, 2
    if (!ErrorLevel)
    {
        SplitPath, clipboard,, dir, ext, NameNoExt
        If (ext = "")
        {
            MsgBox, No file selected
            clipboard := ClipSaved
            return
        }
        FileGetSize, size, %clipboard%, M
        If (size < 50)
        {
            Sleep, 100
            Send, ^v
            Sleep, 500
            ; Send, {F2} ; or
            SendInput, {F2}%NameNoExt% ; if you want to remove " - Copy"
        }
        else
        {
           InputBox, UserInput, Filename, Enter a name for the file,, 350, 120,,,,, %NameNoExt%
            if (!ErrorLevel)    
                FileCopy, %clipboard%, %dir%\%UserInput%.%ext%, 1  
        }
    }
    else
        MsgBox, No file selected
    Sleep, 300
    clipboard := ClipSaved
    return

#If

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