Rename per Kontextmenü (Batch, Windows)

Mitglied: PeterleB

PeterleB (Level 2) - Jetzt verbinden

28.03.2021, aktualisiert 19:30 Uhr, 468 Aufrufe, 8 Kommentare, 1 Danke

Hallo Ihr klugen Leute,

ich möchte per Kontextmenü im Windowsexplorer eine Datei umbenennen, so dass der neue Name dem Ordnername entspricht.


In der Registry habe ich einen Eintrag für alle Dateien angelegt:


Leider passiert gar nichts.
Wo steckt der Fehler?

Danke und Gruß
Peter

PS:
Das CMD-Fenster meldet: "Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch."
Mitglied: 147669
147669 (Level 1)
28.03.2021, aktualisiert um 22:32 Uhr

Bitte warten ..
Mitglied: PeterleB
28.03.2021 um 22:28 Uhr
Hallo,
Danke.

Zum Testen starte ich die BAT mit cmd /k.

Auch mit diesem Code passiert gar nichts.
Und wieder: "Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch."

Gruß
Peter
Bitte warten ..
Mitglied: 147669
147669 (Level 1)
28.03.2021, aktualisiert um 22:34 Uhr
Geht hier, getestet. War nur ein kleiner Tippfehler bei einem Anführungszeichen, ist oben korrigiert!
Bitte warten ..
Mitglied: PeterleB
29.03.2021 um 07:34 Uhr
Hallo,
Danke.

Es tut sich was.
Zum Prinzip nochmal:
Eine Datei im Ordner "Share" namens "Adressen.txt" soll durch die Aktion "Share.txt" heißen.

Zum jetzigen Zeitpunkt ("cmd /k" muß ich aus dem Registryeintrag herausnehmen) heißt die Datei nach dem Umbenennen ".txt", es wird also kein Dateiname übergeben.

Gruß
Peter
Bitte warten ..
Mitglied: TK1987
LÖSUNG 29.03.2021, aktualisiert um 09:24 Uhr
Moin Peter,

Zitat von @147669:
das kann so nicht funktionieren, da %~dp1 immer noch einen Backslash am Ende mit ausgibt und die For-Schleife diese Zeichenkette somit als Pfad interpretiert --> %%~nxa hat daher keinen Inhalt.

BTW:
Zitat von @PeterleB:

Ist es wirklich notwendig, den Kontextmenüeintrag Benutzerübergreifend zu erstellen? Sofern nicht zwingend erforderlich, sollte dieser immer nur für den aktuellen Benutzer erstellt werden

Gruß Thomas
Bitte warten ..
Mitglied: PeterleB
29.03.2021 um 11:30 Uhr
Hallo,

wunderbar, jetzt klappt es.
Danke

Mit dem Registryeintrag hast Du vielleicht Recht.
Lieber jedoch wäre mir ein Knoten, der nur für "Files" gilt, denn Ordner oder andere Objekte machen für die Umbenennung keinen Sinn.
Es gibt: HKEY_CLASSES_ROOT\file (?)
Oder ich schließe Ordner in der Behandlungsroutine aus.

Gruß
Peter
Bitte warten ..
Mitglied: TK1987
LÖSUNG 29.03.2021, aktualisiert um 13:09 Uhr
Zitat von @PeterleB:
Mit dem Registryeintrag hast Du vielleicht Recht.
Lieber jedoch wäre mir ein Knoten, der nur für "Files" gilt, denn Ordner oder andere Objekte machen für die Umbenennung keinen Sinn.
Es gibt: HKEY_CLASSES_ROOT\file (?)
Der Knoten * gilt nur für Dateien, ist hier also schon richtig.


Die Knoten unter HKEY_CLASSES_ROOT werden aus HKEY_LOCAL_MACHINE\Software\Classes\ und HKEY_CURRENT_USER\Software\Classes\ generiert.

PS: Knoten die noch nicht existieren können einfach erstellt werden.
Bitte warten ..
Mitglied: PeterleB
29.03.2021, aktualisiert um 14:59 Uhr
Hallo,

dann ist ja das Problem schon vollständig gelöst.

Vielen Dank für die Erklärungen.

Gruß
Peter

PS: Ich bin alleiniger Benutzer des Systems, da kann ich es bestimmt unter HKCR lassen, sonst ist der Eintrag natürlich unter HKCU besser.

Ein Icon aus der imageres.dll ziert jetzt noch das Kontextmenü:


Bitte warten ..
Heiß diskutierte Inhalte
Netzwerkgrundlagen
Frage der anderen Art
NeuerleVor 1 TagFrageNetzwerkgrundlagen16 Kommentare

Hi an alle, Ich bin InformatikStudi. Habe Ende des Monats Klausur im Fach Netzwerke zu schreiben und komme gar nicht klar. Entweder ich bin ...

Ubuntu
Cups-Server mit SMB lehnt Verbindungen ab (smb.conf)?
ErikHeinemannVor 1 TagFrageUbuntu17 Kommentare

Guten Morgen, ich habe einen Ubuntu 20.04 Server mit Cups als Printspooler. Nun Soll noch Samba hinzugefügt werden für eine einfache Verwendung unter Windows. ...

Exchange Server
Kaspersky for Exchange Meldungen
gelöst wieoderwasVor 1 TagFrageExchange Server11 Kommentare

Guten Morgen, wir haben bei uns einen Exchange 2013 mit Kaspersky for Exchange und Sophos auf Dateiebene. Heute Morgen habe ich einige von diesen ...

Groupware
Lokale Mini-Groupware für Mail, Adressbuch und Kalender gesucht
AndreasKasselVor 1 TagFrageGroupware10 Kommentare

Hallo zusammen, ich habe insgesamt 2 PCs, 1 Notebook, 1 Android-Tablet und ein Android-Smartphone. Weiterhin habe ich 2 Mail-Adressen bei 1&1 mit einer eigenen ...

Grafikkarten & Monitore
Unerklärliche Aussetzer Bildschirm und Maus
nixwissenderVor 1 TagFrageGrafikkarten & Monitore11 Kommentare

hallo! wir haben aktuell das unerklärliche phänomen, dass sich am arbeitsplatz vom mitarbeiter eines der beiden bildschirme kurzzeitig ausschaltet (und zwar der, der per ...

CPU, RAM, Mainboards
CPU Lüfter ausbauen
gelöst ben1300Vor 1 TagFrageCPU, RAM, Mainboards9 Kommentare

Hallo zusammen, ich habe mir damals einen Fertig PC gekauft. Ich würde gerne den Arbeitsspeichern austauschen, allerdings muss ich dafür - so wie es ...

Backup
Backup Datei
gelöst KanrishaVor 1 TagFrageBackup5 Kommentare

Hallo Zusammen, ich habe eine Frage ich will eine Backup bat Datei schreiben habe jedoch ein kleines Problem. Ich möchte ein Laufwerk in das ...

DNS
Android 10 und mein DNS Server
gelöst CyborgWeaselVor 1 TagFrageDNS7 Kommentare

Hallo allesamt, ich spiele gerade etwas mit einer Synology herum, habe unter Anderem einen eigenen DNS jetzt aufgesetzt. Die lokale Domäne ist HomeDomain.local und ...