Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

Stapelverarbeitungsdatei die 2.

Steffen14 / 2 Antworten / Baumansicht Nickles

Weiß jemand von euch, wie man in einer Stapelverarbeitungsdatei es schafft, einen Eintrag in die Registry oder in die Autoexec.bat zu schreiben?
Oder wie könnte es gehen, dass man dem Editor mitteielt, dass er zwei oder mehrere Dateien suchen soll und diese dann in ein best. Verzeichnis kopieren soll? ( bsp.weise nach einem Download : die Datei (Stapelverarbeitungs~ ) wird ausgeführt, aber es passiert dann, dass die Stapeldatei die beiden anderen Dateien nicht findet, weil der , der das Prog geschrieben hatte, die beiden Dateien ( meinetwegen wieder die beiden Bilder ) in einem anderen Verzeichnis hatte. Wer sagt denn, dass der, der sich das gesammte Prog. mit Stapeldatei und den beiden Bildern herunterläd auch in das selbe Verzeichnis kopiert, wie der der es erstellt hat?
Frage verstanden? Wenn nicht, bitte nochmal melden!

Tschüss!

bei Antwort benachrichtigen
thomas woelfer Steffen14 „Stapelverarbeitungsdatei die 2.“
Optionen

mit einem bat/cmd job allein geht das nicht. du kannst aber einige der programme aus der resource kit nehmen: die kann man dan aus der kommandozeile heraus aufrufen und so etwas tun.

generell ist das aber eigentlich schon etwas zu viel verlangt: was du in einem solchen fall eigentlich einsetzen solltest ist der windows scripting host. (siehe passender beitrag hier im programmier-bereich).

WM_HOPETHISHELPS
thomas woelfer

this posting contains no tpyos.
bei Antwort benachrichtigen
Andreas42 Steffen14 „Stapelverarbeitungsdatei die 2.“
Optionen

Hi!

Ich verstehe was du meinst. ;-)

Allerdings sind die Automatiken im guten alten DOS (du arbeitest ja gerade mit der alten DOS-Batch-Sprache) noch etwas verkümmert.
Im Klartext: es gibt entweder ein festes Downloadverzeichnis oder man muss dem Kopier-Batch das Verzeichnis als Parameter mitgeben.

Beispiel:

KOPIER.BAT
------------
@echo off
rem BITTE ALLE "/" DURCH BACKSLASH ERSETZEN!
if "%1" == "" goto error

if not exist %1/*.* goto nixda

copy %1/*.* m:/backup/
goto ende
:nixda
echo Keine Dateien zum Kopieren in %1 gefunden!
goto ende

:error
echo Bitte einen Pfad (z.B. "KOPIER c:/download") angeben!
:ende
echo Das war's!
------------

Ok, im Beispiel sollte es eine Fehlermeldung geben, wenn kein Parameter (also kein Pfad) angegeben wurde. Falls du ein Standard-Downloadverzeichnis hast, dann kannst du das als Umgebungsvariable in der Autoexec.bat eintragen:

SET DOWNLOAD=c:/download

Das kann man natürlich auch im Batch abfragen, wenn kein Parameter angegeben wurde:

----------
@echo off
rem BITTE ALLE "/" DURCH BACKSLASH ERSETZEN!
set kopierpfad=%1
if not "%1" == "" goto los

set kopierpfad=%download%
if "%kopierpfad%" == "" goto error

:los
if not exist %kopierpfad%/*.* goto nixda
copy %kopierpfad%/*.* m:/backup/
goto ende
:nixda
echo Keine Dateien zum Kopieren in %kopierpfad% gefunden!
goto ende
:error
echo Bitte einen Pfad (z.B. "KOPIER c:/download") angeben!

:ende
echo das war's!
---------

Das sind IMHO die normalen Möglichkeiten, die man hat. Mehr geht auchm, aber dann muss man i.d.R. auf zusätzliche DOS-Tools zurück greifen und mit sich selbst erzeugenden Batchdateien arbeiten.
Und wenn man das geignete Tool nicht findet, dass muss man es selbst programmieren... ;-)

Ich hoffe, das hilft dir weiter.

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen