Bat do zmiany nazwy uruchamiany z menu kontekstowego windowsa

0

Witam
Napisałem sobie prosty skrypcik bat który zamienia mi nazwy pliku przeciągniętego na niego. Teraz chciałbym ułatwić korzystanie z tego bat'a i chciałbym dodać pozycję do menu kontekstowego windowsa tak by po wybraniu pliku i kliknięciu na niego prawym przyciskiem pojawiła się automatyczna opcja zmiany nazwy pliku.

@echo off
cls
echo.
rem Is the batch file called without an argument/parameter?
if "%~1" == "" (
    echo Call %~nx0 always with name of a file with full path.
    echo.
    echo For example:
    echo.
    echo %~nx0 "C:\Path to folder\with file to\move with new extension.txt"
    echo.
    pause
    goto :EOF
)

if not exist "%~1" (
    echo Error: There is no file
    echo.
    echo %~1
    echo.
    pause
    goto :EOF
)

if exist "%~1\" (
    echo Error: The argument
    echo.
    echo %~1
    echo.
    echo specifies a directory and not a file.
    echo.
    pause
    goto :EOF
)

setlocal EnableDelayedExpansion
echo %1 
echo %2 
echo %3
echo Preparing for moving the file
echo.
echo %~1
echo.

ren "%~1" "makiOK_%~n1%~x1"

Tak wygląda sam plik bat natomiast teraz chciałbym zrobić plik reg który sprawi że do menu kontekstowego dodam ten plik bat i będzie on wykonywał się na pliku na którym go kliknięto.

1

Słuchaj Kolego.
*.BAT jest oficjalnie deprecated od lat chyba 10ciu, a wcześniej był strasznie długo tolerowany jako przestarzała technologia. Nawet za najlepszych lat był uważany za ułomny i powstawały jego zamienniki jak 4DOS

Najgorsza możliwa technologia do integracji z systemem Windows. To się nie integruje wcale.
Czegokolwiek użyjesz, masz większe szanse: Power Shell, Python, Lua, języki kompilowane

0

Wystarczy poszukać w necie jak np. dodać otwieranie plików za pomocą Notepad++ z menu kontekstowego

przykładowe rozwiązanie:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\batrename]
@="BAT Rename"
"Icon"="iconPath"

[HKEY_CLASSES_ROOT\*\shell\batrename\command]
@="C:\\scriptPath\\renameScript.bat"


Tak jak kolega powyżej nie uważam aby było to najszczęśliwsze rozwiązanie.

--
Paweł

1 użytkowników online, w tym zalogowanych: 0, gości: 1