52.
Datum: 18.04.2010: 1% - Arbeiten mit der Variabel in der cmd, registry
und Verknüpfungen
Viele
User kommen in die Verlegenheit die 1 % Variable in einem
Command-Befehl in der Registry oder in der cmd zu
verwenden.
Dieses ist wieder eine
Impulsabhandlung lassen Sie ihre Fantasie spielen. Der
Sternenhimmelstuermer wünscht Ihnen viel Spaß beim Ausprobieren mit 1% !
Bei
der Suche im Internet fand der Sternenhimmelstuermer erstmal nur diese
englischsprachige Seite,
die sich mit dem Thema beschäftigt und bei Google zu Recht Top 1 ist.
Die Sternenhimmelstuermerhomepage gibt im Gegensatz zu anderen Seiten
gerne Hyperlinks zu guten Seiten. Die Umsetzung und Erklärung finden
Sie dann teilweise hier, dass nennt man Surfen und viele Homepages und
Tippseiten haben
dieses Prinzip leider nicht verstanden...
%1 ist im
Prinzip nichts weiter als eine zuvor festgelegte Variabel, die einen
vordefinierten Pfad oder Datei beinhaltet.
Eine Möglichkeit
wäre es, einen beliebigen Kommandozeilenbefehl im
Kontextmenüeintrag (Beispiel:
HKEY_CLASSES_ROOT\txtfile\shell)
einzutragen
und eine Datei mit einer beliebigen Dateiendung (Beispiel: txt) zum
Mittelpunkt der Bearbeitung zu machen.
Dazu tragen
Sie zur Übung das Ganze ruhig mal in den Registrierungseditor
ein:
1. start - regedit ins Suchfeld eingeben - mit
rechter Maustaste "Als Administrator" ausführen.
2.
Durchhangeln auf der linken Seite der Ordnerhierarchie des
Registrierungseditors im Pfad: HKEY_CLASSES_ROOT\txtfile\shell
3.
Bei Bei SHELL legen Sie einen neuen Schlüssel an (rechte Maustaste: in
den Eigenschaften neu -Schlüssel) Vergeben Sie einen beliebigen Namen
wie probe.
4.
Erzeugen Sie hier einen weiteren Unterschlüssel mit dem Namen Command
(rechte Maustaste auf probe
- Eigenschaften - neu - Schlüssel)
Command ist
dabei die Zeile, die Sie für die Eingabe eines Befehles der
Kommandozeile benötigen.
5. Doppelklicken Sie auf der rechten
Seite von Command
den Wert Standart und geben Sie cmd /k dir /Q Zeit /c "%1"
ein.
6. Der Eintrag wird sofort aktiv. Gehen Sie nun auf ein
beliebiges Textdokument und klicken Sie es mit der rechten Maustaste an
cmd /k bedeutet:
Die CMD öffnet sich und bleibt nach Ausführung geöffnet. Viele User
fragen im Internet, wie Sie die Ausgabe der cmd in Batches erhalten
können. Der Parameter
/k ist in der CMD-Hilfe (Cmd /?) eindeutig als
Gegenteil zum Parameter
/C (der schließt sofort das CMD-Fenster)
definiert. Das trotzdem jede Menge utopische Lösungen im Internet für
das Offenhalten oder Schließen des Fensters der Eingabeaufforderung
(auch cmd oder Kommandozeile genannt)
kursieren, ist ein Armutszeugnis...
dir /Q ist
die Abfrage nach
dem Besitzer der Datei, auch dieses ist in der Windowshilfe (dir /? in
Eingabeaufforderung eingeben) hinreichend dokumentiert.
Zeit /c ist
das Erstelldatum der Datei. Groß oder Kleinschreibung spiel eher
eine untergeordnete Rolle...
Es
wird also über diesen Befehl der Besitzer der Datei und das
Erstelldatum der Datei ausgegeben.
Am
Ende dieses Experimentes sollten Sie einfach den Schlüssel Probe in
der
Registry löschen, der sprichwörtlich nur eine Probe war. Dazu gehen Sie
im Registrierungseditor auf den Schlüssel Probe,
klicken ihn mit der
rechten Maustaste an, wählen löschen, bestätigen die Rückfrage, ob der
Schlüssel und alle Unterschlüssel gelöscht werden sollen mit ja (der
Unterschlüssel Command soll ja auch entfernt werden!) und fertig
-----
Sie
können nun selbst mit
verschiedenen Dateiendungen, Befehlen und Parametern experimentieren.
Um
die nötigen Schlüssel im Registrierungseditor für Dateiendungen zu
finden, sollten Sie mit dem Freewaretool der PC-Welt pcwShellExtension1.1
risikolos die Grundlagen kennenlernen:
Hier können Sie die
Verwendung
der 1% -Variable risikolos nachvollziehen und mit den erlangten
Kenntnissen leicht eine Batchdatei oder einen cmd Befehl erstellen, den
Sie individuell gestalten können - das schlimmste, was passieren kann,
ist, dass der Kontextmenüeintrag nicht funktioniert.
Laden
Sie sich
dazu pcwShellExtension1.1 herunter (zipkomprimierter Ordner mit 78 kb -
das ist megaklein). Danach entpacken
Sie das Tool und starten die pcwShellExtension.exe
mit
Administrationsrechten (rechte Maustaste und "als Administartor
ausführen).
Anmerkung: Das Tool ist eine
Standalloneanwendung, die keine Spuren in der Registry hinterlässt,
also nicht installiert oder deinstalliert werden muss!
Danach
gehen Sie in die Registerkarte
Kontextmenü
und Wählen Dateierweiterung
aus. Nun geben Sie z. B. txt
ein und Bestätigen mit der Eingabetaste.
Nun werden
Ihnen alle
Programme angezeigt, die einen Kontextmenüeintrag im Schlüssel:
HKEY_CLASSES_ROOT\txtfile
haben. Es sollte u. a. der Schlüssel:
C:\Windows\system32\NOTEPAD.EXE
%1 dort stehen (im Unterschlüssel
open
- Sie können das im Registrierungseditor nachvollziehen ).
Sie
haben nun gelernt, wie die %1-Vaiabel
funktioniert. Im Schlüssel
open einer
beliebigen Dateiendung wie mp3, html usw.
finden Sie weitere Einträge.
Die %1 steht für die Datei, die im o . a. Schlüssel durch ein Programm
geöffnet wird. Nach diesem Schema könnten Sie z. B. jetzt einen eigenen
Eintrag im Kontextmenü des Textdokumentes kreieren, der z. B.
alle Textdokumente mit dem Internetexplorer öffnet. Das ist nicht
sinnvoll, aber hier der Weg zur Probe. Hinterher kann der Eintrag
schließlich risikolos entfernt werden:
1. Geben Sie
dazu html
in die Eingabezeile der PC-Welt pcwShellExtension1.1
2.
Sie sehen nun den Eintrag "C:\Program
Files\Internet Explorer\IEXPLORE.EXE" %1.
Diese Zeile ist zur Standartöffnung des Internetexplorers ohne
Rückfrage.
Sie könnten die Öffnung mit der
Dateiendung html
natürlich
auf regulären Weg über die rechte Maustaste einstellen (auf eine
HTML-Seite, dort in
den Eigenschaften öffnen mit auswählen und dann ein empfohlenes
Programm oder anderes Programm auswählen..).Sie sollen in dieser Übung
jedoch einen neuen Eintrag
ins Kontextmenü als Öffnungsoption kreieren
- das geht leider so nich über den regulären Wegt...
3.
Jetzt geben Sie txt
in die
obere Anzeigenzeile neben der Dateierweiterung ein.
Dann
klicken Sie Hinzufügen
an und fügen in die
Spalte Neuer Kontextmenüeintrag einen beliebigen Eintrag ein, z. B.
Alternative.
In Befehlszeile geben Sie die o. a. Befehlszeile "C:\Program
Files\Internet Explorer\IEXPLORE.EXE" %1 ein. Nach
dem Betätigen der Hinzufügentaste ist der Eintrag im Kontextmenü sofort
aktiv. Im Tool wird auch der Ort des Eintrages angezeigt:
HKEY_CLASSES_ROOT\txtfile\shell.
4.
Entfernen können Sie den Eintrag mit dem Tool nach markieren des neuen
Eintrags und Betätigung der Löschtaste
5.
Schauen Sie sich mehrere Dateiendungen an und erlernen die Syntax der
%1-Variable. Überprüfen Sie die Einträge im Registrierungseditor.
------
Der
Sternenhimmelstuermer beschrieb mal in einer Abhandlung über Thunderbird,
wie man über eine Batch im Ordner sendto automatisch Dateien zu
Anhängen macht, ein schönes Beispiel für die sinnvolle Verwendung von
%1:
Thunderbird in den Ordner Senden
an (sendto) mit Batch einbinden
Der Ordner sent to
liegt im
Pfad: %AppData%\Microsoft\Windows\SendTo
( \das Roaming\ nach Appdata entfällt bei der Systemvaiablen, weil
%AppData% eigentlich ... \AppData\Roaming ist). Einfacher ist natürlich
die Eingabe Shell:SendTo
ins Suchfeld des Startmenüs - Geschmackssache und für eine Batch nicht
zu verwenden.
Verknüpfungen in diesem Ordner
erscheinen bei allen Dateien im Kontextmenü (rechte Maustaste) und
werden an das entsprechende Programm gesendet - theoretisch. Hier
dürfte der schwarze Peter wohl bei Mozilla liegen. Denn eine
Verknüpfung nützt in diesem Fall überhaupt nichts. Statt die Datei an
eine leere email anzuhängen, schweigt Thunderbird beharrlich.
Durch
die Erstellung einer Batch im Ordner SendTo können Sie dieses Problem
beheben:
A.
Erstellen Sie ein Textdokument: mit der rechten Maustaste auf freie
Fläche im Ordner SendTo. Öffnen Sie das Leere Dokument und geben Sie
folgenden angepassten Text ein:
"D:\thunderbird\ThunderbirdPortable\ThunderbirdPortable.exe"
-compose "attachment='file:///%1'"
Beim
Sternenhimmelstuermer liegt die ThunderbirdPortable.exe
im o. a. Pfad: Sie
müssen bei ihrer installierten Version die Datei thunderbird.exe (in Suchfunktion von W7
eingeben - am sichersten über Computer: C:\)
finden und
den Pfad anpassen.
B.
Danach schließen Sie die Datei und bestätigen die Nachfrage, ob die
Änderungen in der Datei gespeichert wird mit ja.
C.
Sollten Sie die Dateiendung (*.txt) nicht sehen, so
müssen Sie die Ansicht dahingehend ändern, dass auch bei bekannten
Dateien die Endung angezeigt wird:
Dateiendung: *.txt, nur
anschaubar, wenn Sie in einem Ordner die Menüleiste aktivieren - durch
Organisieren - Layout - die Menüleiste aktivieren -, dann unter Extras
- Ordneroptionen - Registerkarte Ansicht - Erweiterungen bei
unbekannten Dateitypen ausblenden deaktivieren - ganz einfach,
nicht?
D. Danach vergeben sei der Batch einen
beliebigen Namen - Nur die Endung muss .bat lauten und .txt ersetzen...
Erklärung:
Thunderbird besitzt wie viele andere Anwendungen Parameter zum Aufrufen
des Programmes per Batch. Bei Google finden Sie dann auch unter den
Stichwörtern Thunderbird und Aufrufparameter z. B. diese Seite, wo die wichtigsten
Parameter erklärt sind:
Der erste Teil der Batch
startet dabei Thunderbird.
Die Option -compose kreiert
eine neue email
und "attachment='file:///%1'"
heißt nichts weiter, dass die Datei, die Sie mit dem
Kontextmenü versendet haben, zu 100 % - in der Syntax der Kommandozeile
%1 im
jeweiligen Pfad file:///
als Anhang (attachment)
übergeben (=).
-------
Dieses
sollte als Einstieg erstmal reichen, wenn es Probleme geben sollte, die
die Allgemeinheit betreffen mit %1 betreffen oder Fehler, so können Sie
das gerne Posten - für einzelne Fragen besteht kaum die Möglichkeit
einer Beantwortung....
Zur
besseren Orientierung auf den über 911 (Din A 4) Tippseiten in Abhandlungen von drei Generationen Windows der Sternenenhimmelstuermerpage die individualisierte Suchmaschine von Google mit Suchergebnissen nur von dieser Homepage: Selbst
der Sternenhimmelstuemer findet sich bei diesem umfassenden Content trotz präziser Sortierung der Abhandlungen nur mit Hilfe von Suchmaschinen zu
recht...
Loading
Disclaimer: Sie geben bei der Suche Daten ein, deren Verwendung nach den Regeln von Google weiterverwendet werden können.
Der Sternenhimmelstuermer hat darauf keinen Einfluss, aber kommt mit diesem Hinweis der Verpflichtung aus dem Datenschutz und Telekommunikationsgesetz nach, auf diesen Umstand aufmerksam zu machen. Mit der Eingabe eines Suchwortes stimmen Sie dieser
Verfahrensweise zu, der Sternenhimmelstuermer kann hierfür nicht haftbar gemacht werden. Der Sternenhimmelstuermer distanziert sich von
den Werbeinhalten.
Beim Betätigen dieses Buttons geben Sie Daten an Google weiter über deren Verwendung der Webmaster keinen Einfluss hat. Nach dem Datenschutzgesetz und Telekommunik ist der Webmasterverpflichtet, Sie darauf aufmerksam zu machen - Der Sternenhimmelstuermer traut Google +