Hilfe bei Erstellung einer BATCH-Datei

hebo

Enthusiast
Thread Starter
Mitglied seit
19.02.2012
Beiträge
147
Moin, ich hab folgendes Problem womit mir vielleicht einer Helfen kann. Ich habe ein Batchdatei erstellt die Folgendes machen soll:

beim Ausführen der Batch soll auf "C:\LokaleDaten\NGZ" ein neues Verzeichnis erstellt werden, falls nicht vorhanden. - Das klappt.

Dann sollen Lokal abgelegte Programm-Datein gelöscht werden in dem Ordner, klappt auch

Dann soll vom Netzlaufwerk ein Programm in das Lokale Verzeichnis kopiert werden, das irgendwo das Wort "Affe" im Namen hat, auch das klappt.

Nun soll die Programm-Datei aber geöffnet werden, auf den Lokalen Verzeichnis was irgendwo im Namen das Wort "Affe" hat. Das klappt nicht.

So wie ich das verstehe, kann man mit Wildcards "*?" hier nicht arbeiten, da dies voraussetzt, das der Programm-Datei-Name immer gleich lang ist. Das ist aber nicht so. Die Programm-Datei kann heißen: 0815_Affe.ngz oder aber auch hallihallo2313tschuess_affe.ngz. Es kommt aufjedenfall immer das Wort Affe drin vor.

Gibt es da irgend einen Trick? Vllt. mit FIND oder FINDSTR? Habe jedenfalls bei Google etwas dazu gefunden, jedoch konnte ich damit leider nicht viel anfangen :(

Die BATCH sieht bis jetzt so aus.

Code:
@echo off
title Bitte Warten - Programm-Datei wird von Netz auf Lokal kopiert
MODE CON COLS=100 LINES=20
color f1

rem Anlegen eines Lokalen Verzeichnisses für das gewälte Programm, falls nicht schon vorhanden
@mkdir "C:\LokaleDaten\NGZ" > nul 2>&1

rem Löschen von Lokal abgelegten Programmen
@del /F /Q "C:\LokaleDaten\NGZ\*.*" > nul 2>&1

rem Kopiere das ausgewählte Programm vom Netzlaufwerk auf das Lokale Laufwerk
@echo .
@echo Bei Problemen oder Rückfragen, bitte an XXXXXX wenden
@echo .
echo Es wird gerade kopiert:
@xcopy "H:\NetzDaten\NGZ\*Affe*.ngz" "C:\LokaleDaten\NGZ\" /Y

rem Starten des Programms
start "" "C:\LokaleDaten\NGZ\*Affe*.ngz"
exit
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Funktioniert der Start des Programmes auf diesem Wege überhaupt. (Ohne zugewiesene Datei)
Akzeptiert dieses Programm die Zieldateivorgabe per Befehlszeile.
Wird da vielleicht nur 1 Datei im Verzeichnis stehen, dass es mit einem generellen *.ngz arbeiten könnte. Der Affe wurde ja schon beim kopieren begrenzt.
Wenn es nur 1 Datei gibt könnte man die ja vielleicht per Batch auf einen festen "Startnamen" umbenennen lassen.
 
Auf dem Netzlaufwerk in dem Verzeichnis können auch mehrere Datein liegen, die aber nicht verändert werden dürfen. z.B Affe.ngz oder tiger.ngz. Eine davon erwähne ich in der Batch und sage diese bitte mir lokal hin kopieren, wie die dann lokal heißt, ist egal.
Ich würde für die Affe.ngz und die tiger.ngz jeweils eine extra Batchdatei erstellen, wenn auf dem Netz dann der Affe und der Tiger liegt.

Code:
@echo off
title Bitte Warten - Programm-Datei wird von Netz auf Lokal kopiert
MODE CON COLS=100 LINES=20
color f1

rem Anlegen eines Lokalen Verzeichnisses für das gewälte Programm, falls nicht schon vorhanden
@mkdir "C:\LokaleDaten\NGZ" > nul 2>&1

rem Löschen von Lokal abgelegten Programmen
@del /F /Q "C:\LokaleDaten\NGZ\*.*" > nul 2>&1

rem Kopiere das ausgewählte Programm vom Netzlaufwerk auf das Lokale Laufwerk
@echo .
@echo Bei Problemen oder Rückfragen, bitte an XXXXXX wenden
@echo .
echo Es wird gerade kopiert:
@xcopy "H:\NetzDaten\NGZ\*Affe*.ngz" "C:\LokaleDaten\NGZ\" /Y


[COLOR="#FF0000"][B]Rename "C:\LokaleDaten\NGZ\*.ngz" "Affe.ngz"[/B][/COLOR]

rem Starten des Programms
start "" "[COLOR="#FF0000"][B]C:\LokaleDaten\NGZ\Affe.ngz[/B][/COLOR]"
exit

So gehts?
 
Zuletzt bearbeitet:
Keine Ahnung ich habe ja nur ein paar Rückfragen gestellt.
Testen geht eh nur lokal mit den eigenen Programmen (die ich nicht habe).
Vielleicht braucht der start auchnoch den direkten Programmkontakt.
 
Also der Start würde laufen, wenn ich ohne Wildcards arbeite. Also wenn die Datei wirklich nur Affe.ngz heißt statt evlt. 8213523_raf_affe.ngz. Das habe ich getestet. Ich probiere morgen mal ob das renamen etwas bringt. Habe jetzt leider auch nichts zum testen in der Hand :d

Vielen Dank aufjedenfall soweid
 
So ich habe es getestet. es Funktioniert!! Vielen Herzlichen Dank!
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh