Mehrere Batch dateien erstellen lassen
Hallo zusammen,
wieder quält mich ein Problem, welches ich in der DOS Box (WIN7) gerade versuche zu lösen:
Ausgangssituation:
Ich habe eine Datei Nummer.txt, in dieser stehen Werte:
Nummer1
Nummer2
Nummer3
...
Mit dieser Datei will ich für jede Zeile eine separate Datei erstellen
Nummer1.cmd
Nummer2.cmd
Nummer3.cmd
In die Dateien soll immer derselbe text geschrieben werden
REM Text mit variablen
Ist das überhaupt auf DOS Ebene möglich?
und dann noch eine Frage:
Ist es möglich mit einem Befehl alle cmd Dateien in einem separaten Verzeichnis ausführen zu lassen?
Viele Grüße
wieder quält mich ein Problem, welches ich in der DOS Box (WIN7) gerade versuche zu lösen:
Ausgangssituation:
Ich habe eine Datei Nummer.txt, in dieser stehen Werte:
Nummer1
Nummer2
Nummer3
...
Mit dieser Datei will ich für jede Zeile eine separate Datei erstellen
Nummer1.cmd
Nummer2.cmd
Nummer3.cmd
In die Dateien soll immer derselbe text geschrieben werden
REM Text mit variablen
Ist das überhaupt auf DOS Ebene möglich?
und dann noch eine Frage:
Ist es möglich mit einem Befehl alle cmd Dateien in einem separaten Verzeichnis ausführen zu lassen?
Viele Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 283772
Url: https://administrator.de/contentid/283772
Ausgedruckt am: 25.11.2024 um 22:11 Uhr
6 Kommentare
Neuester Kommentar
Moin,
Gruß grexit
p.s. alle Skripte sind für die Ausführung in einer Batchdatei vorgesehen nicht direkt auf der Konsole.
Ist das überhaupt auf DOS Ebene möglich?
abä sichä ..@echo off
for /f "usebackq delims=" %%a in ("C:\Nummer.txt") DO @(
echo REM Text mit Variablen>"C:\Ausgabe\%%a.cmd"
)
Ist es möglich mit einem Befehl alle cmd Dateien in einem separaten Verzeichnis ausführen zu lassen?
Logisch @echo off
for %%a in ("C:\Ausgabe\*.cmd") do call "%%a"
p.s. alle Skripte sind für die Ausführung in einer Batchdatei vorgesehen nicht direkt auf der Konsole.
Zitat von @AnkhMorpork:
<Klug###>
Er hat keine DOS-Ebene. Die Zeiten sind vorbei (zumindest unter Win 7).
</Klug###>
Ankh
Zitat von @122990:
Moin,
Moin,
Ist das überhaupt auf DOS Ebene möglich?
abä sichä ..<Klug###>
Er hat keine DOS-Ebene. Die Zeiten sind vorbei (zumindest unter Win 7).
</Klug###>
Ankh
Die Zeiten sind schon seit Windows NT 3.1 vorbei. Es handelt sich um ein CLI (Command Line Interface). Neudeutsch auch Eingabeaufforderung.
Nur weil da ein C:\> steht denkt jeder "Hui unter Windows x gibt es immer noch eine DOS-BOX.". Ich kriege immer einen dicken Hals. Die CLI kann wesentlich mehr als früher DOS.
Aber die Leute lernen es einfach nicht.
Gruss Penny.
Zitat von @beggagsell:
in der ersten Datei schreibe ich
echo set datum=%%jahr%%%%monat%%%%tag%% >>"C:\Ausgabe\%%a.cmd" -> das Dateum erscheint im Syntax JJ MM TT
leider mit Leerstellen. Ich brauch das ohne Leerstellen
Kann ich nicht bestätigen, da muss dein Ausgangsformat schon Fehler habenin der ersten Datei schreibe ich
echo set datum=%%jahr%%%%monat%%%%tag%% >>"C:\Ausgabe\%%a.cmd" -> das Dateum erscheint im Syntax JJ MM TT
leider mit Leerstellen. Ich brauch das ohne Leerstellen
Wenn ich in der ersten Date schreibe
echo SET Dateiname=%%~n0 >>"C:\Ausgabe\%%a.cmd"
Dann erscheint in der Zieldatei ja auch SET Dateiname=%~n0
Schalte Delayed Expansion ein und weise es einer Variablen zuecho SET Dateiname=%%~n0 >>"C:\Ausgabe\%%a.cmd"
Dann erscheint in der Zieldatei ja auch SET Dateiname=%~n0
setlocal enabledelayedexpansion
set "var=%%~n0"
echo SET Dateiname=!var!>>"C:\Ausgabe\%%a.cmd"