Vollständige Version anzeigen : datein als parameter übergeben
m.herrzog
December 28th 04, 11:33 PM
hallo
ich habe ein paar kleine batch datein die ich mittels rechter
moussetaste über einer datei und dem SendTo menu anspreche und dann
irgendetwas damit tue.
der parameter %1 ist die quelle der gewählten datei.
in der batch datei steht z.b.:
@echo off
echo datei: %1
echo REG ADD "%1" ....
echo.
wie kann ich denn mehrere datei auswählen und diese mit einer schleife
abarbeiten?
dos kenntnisse sind gering.
gruß maik
Winfried Sonntag
December 29th 04, 12:09 AM
m.herrzog schrieb:
^^^^ Hier sollte IMMER Dein Vor- und Zuname stehen. Danke.
Hallo Maik,
> ich habe ein paar kleine batch datein die ich mittels rechter
> moussetaste über einer datei und dem SendTo menu anspreche und dann
> irgendetwas damit tue.
> der parameter %1 ist die quelle der gewählten datei.
> in der batch datei steht z.b.:
> @echo off
> echo datei: %1
> echo REG ADD "%1" ....
> echo.
>
> wie kann ich denn mehrere datei auswählen und diese mit einer schleife
> abarbeiten?
> dos kenntnisse sind gering.
ich kann Dir nur ein paar gute Seiten dafür nennen:
http://www.axel-hahn.de/axel/page_compi/bat_index.htm
http://www.antonis.de/dos/batchtut/pittipla/
http://www.studentshelp.de/p/referate/02/3785.htm
Servus
Winfried
--
Win2000-FAQ: http://w2k-faq.ebend.de
Richtig zitieren: http://got.to/quote
GPO's: www.gruppenrichtlinien.de
W2K Up2date: http://home.arcor.de/jterlinden/index.htm
Matthias Tacke
December 29th 04, 12:18 AM
m.herrzog wrote:
> hallo
> ich habe ein paar kleine batch datein die ich mittels rechter
> moussetaste über einer datei und dem SendTo menu anspreche und dann
> irgendetwas damit tue.
> der parameter %1 ist die quelle der gewählten datei.
> in der batch datei steht z.b.:
> @echo off
> echo datei: %1
> echo REG ADD "%1" ....
> echo.
>
> wie kann ich denn mehrere datei auswählen und diese mit einer schleife
> abarbeiten?
> dos kenntnisse sind gering.
>
> gruß maik
Hallo maik,
mir ist nicht so ganz klar wa du vorhast.
reg add erwartet einen key, type und value keine Datei.
Wenn du mehrere Argumente übergibst kannst du bis zu neun direkt
ansprechen oder aber den shift-Befehl nutzen.
Um alle Argumente anzuzeigen probier das mal.
@echo off&setlocal
:loop
echo [%~1]
if "%~2" NEQ "" shift&goto :loop
Du solltest die Tilde benutzuenum ggfs vorhandene (äußere)
Anführungszeichen zu entfernen. Eine If Abfrage wie oben funktioniert
sonst nämlich bei langen Dateinamen nicht.
HTH
--
Gruesse Greetings Saludos Saluti Salutations
Matthias
---------+---------+---------+---------+---------+---------+---------+
Eric March
December 29th 04, 07:31 PM
Am Tue, 28 Dec 2004 23:33:41 +0100 schrieb m.herrzog >:
> hallo
> ich habe ein paar kleine batch datein die ich mittels rechter
> moussetaste über einer datei und dem SendTo menu anspreche und dann
> irgendetwas damit tue.
> der parameter %1 ist die quelle der gewählten datei.
> in der batch datei steht z.b.:
> @echo off
> echo datei: %1
> echo REG ADD "%1" ....
> echo.
>
> wie kann ich denn mehrere datei auswählen und diese mit einer schleife
> abarbeiten?
> dos kenntnisse sind gering.
>
> gruß maik
Moment. Als Parameter übergebe ich Irgenwas nur zu Fuß auf der
Kommandozeile. Ich hoffe du verwechselst hier nicht etwas.
Mehrere markierte Dateine dagegen kann ich sehr wohl zur
Nacheineanderbabarbeitung mittels SendTo verarbeiten.
Eingaben aber sammeln und per SendTo weitergeben ist nicht drin.
(Wenigstens wäre es dann sinnlos eine Textdatei mit den Eingaben zu
füttern und die per Piping via SendTo auszuwerten - vom Rücken durch die
Brust ins Auge.)
--
Eric March
»Schreibe kurz - und sie werden es lesen. Schreibe klar und sie werden es
verstehen. Schreibe bildhaft - und sie werden es im Gedächtnis behalten.«
Joseph Pulitzer
Matthias Tacke
December 29th 04, 09:57 PM
Eric March wrote:
> Moment. Als Parameter übergebe ich Irgenwas nur zu Fuß auf der
> Kommandozeile. Ich hoffe du verwechselst hier nicht etwas.
> Mehrere markierte Dateine dagegen kann ich sehr wohl zur
> Nacheineanderbabarbeitung mittels SendTo verarbeiten.
>
Hallo Eric, ich gestehe ja, das ich den OP vielleicht nicht ganz
verstanden habe, aber deine Antwort verstehe ich noch weniger.
Der explorer übergibt jede Mehrfachselektion als *einen* String mit
gequoteten Namen. Egal ob per Drag and Drop oder Sendto oder
Shell extension.
> Eingaben aber sammeln und per SendTo weitergeben ist nicht drin.
Und warum nicht? Solange du in einem Verzeichnis bleibst, kannst du
mit shift oder Ctrl deine Selektion erweitern bis du glücklich bist.
> (Wenigstens wäre es dann sinnlos eine Textdatei mit den Eingaben zu
> füttern und die per Piping via SendTo auszuwerten - vom Rücken durch
> die Brust ins Auge.)
>
Was er mit den gesammelten Argumenten in der Batch Datei macht,
bleibt doch ihm überlassen. Was Piping jetzt damit zu tun haben soll
ist mir gänzlich schleierhaft.
Wenn er die Inhalte der Dateien auswerten möchte, gibts den for /f
Befehl der wunderschön parsen kann.
Kopier dies mal in deinen SendTo und probiers aus.
::ListArgs.Cmd:::::::::::::::::::::::::::::::::::: :::::::::::::::::::
@echo off&setlocal
:loop
echo LW=[%~d1] Pfad=[%~p1] Datei=[%~n1] Erw.=[%~x1]
echo Groesse=[%~z1] Attr=[%~a1] DatZeit=[%~t1]
echo.==
if "%~2" NEQ "" shift&goto :loop
Pause
::ListArgs.Cmd:::::::::::::::::::::::::::::::::::: :::::::::::::::::::
Einen guten Rutsch wünsch ich Allen.
--
Gruesse Greetings Saludos Saluti Salutations
Matthias
---------+---------+---------+---------+---------+---------+---------+
Eric March
December 30th 04, 05:50 PM
Am Wed, 29 Dec 2004 21:57:08 +0100 schrieb Matthias Tacke
>:
> Eric March wrote:
>> Moment. Als Parameter übergebe ich Irgenwas nur zu Fuß auf der
>> Kommandozeile. Ich hoffe du verwechselst hier nicht etwas.
>> Mehrere markierte Dateine dagegen kann ich sehr wohl zur
>> Nacheineanderbabarbeitung mittels SendTo verarbeiten.
>>
> Hallo Eric, ich gestehe ja, das ich den OP vielleicht nicht ganz
> verstanden habe, aber deine Antwort verstehe ich noch weniger.
>
> Der explorer übergibt jede Mehrfachselektion als *einen* String mit
> gequoteten Namen. Egal ob per Drag and Drop oder Sendto oder
> Shell extension.
Dann muss ich die abfangen. Eine Batchdatei in SendTo kann per SHIFT
diesen Bandwurm der Reihe nach abarbeiten, kein Thema.
>> Eingaben aber sammeln und per SendTo weitergeben ist nicht drin.
>
> Und warum nicht? Solange du in einem Verzeichnis bleibst, kannst du
> mit shift oder Ctrl deine Selektion erweitern bis du glücklich bist.
Das wäre eine Tätigkeit im Vorfeld bevor ich die spannde Aktion loslasse
:-)
>> (Wenigstens wäre es dann sinnlos eine Textdatei mit den Eingaben zu
>> füttern und die per Piping via SendTo auszuwerten - vom Rücken durch
>> die Brust ins Auge.)
>>
> Was er mit den gesammelten Argumenten in der Batch Datei macht,
> bleibt doch ihm überlassen. Was Piping jetzt damit zu tun haben soll
> ist mir gänzlich schleierhaft.
Übergabe an Batchdatei A die die Eingänge in ihrer Programmabfolge per
PIPING an die zuständige Stelle gibt. Wobei Piping eine Möglichkeit wäre,
man könnte auch jeweils eine Batchdatei B mit dem jeweiligen %1 aufrufen…
> Wenn er die Inhalte der Dateien auswerten möchte, gibts den for /f
> Befehl der wunderschön parsen kann.
>
> Kopier dies mal in deinen SendTo und probiers aus.
>
> ::ListArgs.Cmd:::::::::::::::::::::::::::::::::::: :::::::::::::::::::
> @echo off&setlocal
> :loop
> echo LW=[%~d1] Pfad=[%~p1] Datei=[%~n1] Erw.=[%~x1]
> echo Groesse=[%~z1] Attr=[%~a1] DatZeit=[%~t1]
> echo.==
> if "%~2" NEQ "" shift&goto :loop
>
> Pause
> ::ListArgs.Cmd:::::::::::::::::::::::::::::::::::: :::::::::::::::::::
Dem stimme ich ohen Wenn und aber zu.
_Eingaben_ aber, und damit meine ich Tippe-Tippe, bekomme ich auf diese
Tour nicht über SendTo ans Laufen.
'n Guten Rutsch!
--
Eric March
»Schreibe kurz - und sie werden es lesen. Schreibe klar und sie werden es
verstehen. Schreibe bildhaft - und sie werden es im Gedächtnis behalten.«
Joseph Pulitzer
vBulletin® v3.6.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.