Dateinamen via batch script auslesen, Datei zippen und anschliessend in den ausgelesenen Namen umbenennen
Hallo zusammen,
hoffe auf hilfe, habe schon nach einer lösung gesucht aber nichts gefunden.
vielen dank im voraus.
ich habe folgende Szenario
es soll via script der Dateiname "WEBXMSWV.0.DB2.NODE0000.CATN0000.20091025233508.001"
einer Datei die im Pfad "D:\test\" liegt, ausgelesen werden. Danach soll diese Datei
gezippt werden. Die gezippte Datei DB2.zip soll jetzt in den ausgelesenen Dateinamen
"WEBXMSWV.0.DB2.NODE0000.CATN0000.20091025233508.001" umbenannt werden.
Ich habe folgendes script zum zippen der Datei
@echo off
C:\Programme\7-Zip\7z.exe a DB2.zip "D:\test\WEB*.001"
dieses script funktioniert auch, leider weiss ich nicht wie ich via script den Dateinamen
auslesen kann und die gezippte Datei umbenennen kann.
was auch noch schön wäre ist das das script in "c:\batch" liegt und die Datei in "D:\test\"
zippt. Aktuell wird das zip immer da hinterlegt wo ich das script liegen habe.
hoffe auf hilfe, habe schon nach einer lösung gesucht aber nichts gefunden.
vielen dank im voraus.
ich habe folgende Szenario
es soll via script der Dateiname "WEBXMSWV.0.DB2.NODE0000.CATN0000.20091025233508.001"
einer Datei die im Pfad "D:\test\" liegt, ausgelesen werden. Danach soll diese Datei
gezippt werden. Die gezippte Datei DB2.zip soll jetzt in den ausgelesenen Dateinamen
"WEBXMSWV.0.DB2.NODE0000.CATN0000.20091025233508.001" umbenannt werden.
Ich habe folgendes script zum zippen der Datei
@echo off
C:\Programme\7-Zip\7z.exe a DB2.zip "D:\test\WEB*.001"
dieses script funktioniert auch, leider weiss ich nicht wie ich via script den Dateinamen
auslesen kann und die gezippte Datei umbenennen kann.
was auch noch schön wäre ist das das script in "c:\batch" liegt und die Datei in "D:\test\"
zippt. Aktuell wird das zip immer da hinterlegt wo ich das script liegen habe.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 17.03.2010 um 13:50:23 Uhr
Zitat von @cali169:
ja ist ein sinnloser Umweg das zip erst benennen und dann umbennen in den Orginaltext.
#rgc := 651ja ist ein sinnloser Umweg das zip erst benennen und dann umbennen in den Orginaltext.
Content-ID: 138448
Url: https://administrator.de/contentid/138448
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
8 Kommentare
Neuester Kommentar
moin,
Wobei das "ungeschickt ist - die "quelle" und das Ziel mit *.* zu durchleuchten - denn läuft das Script zum 2.mal - zipppt es die zipps auch nochmal.
Gruß
edit @ Bastla: dafür hast du das viel netter umschrieben und dein Schleifchen gefällt mir auch besser, als das meinige.
rem @echo off
rem denn das ist nur dafür gut, wenn die Batch auch so läuft, wie man das will
for /f %%a in ('dir /b D:\test\*.*') do C:\Programme\7-Zip\7z.exe a D:\test\%%a "D:\test\%%a"
Wobei das "ungeschickt ist - die "quelle" und das Ziel mit *.* zu durchleuchten - denn läuft das Script zum 2.mal - zipppt es die zipps auch nochmal.
Gruß
edit @ Bastla: dafür hast du das viel netter umschrieben und dein Schleifchen gefällt mir auch besser, als das meinige.
Hallo cali!
Es drängen sich einige Fragen auf_
Falls das Ziel ein anderer Ordner und jeweils eine eigene ZIP-Datei ist, sollte das (ungetestet) etwa so zu machen sein:
Grüße
bastla
[Edit] @timobeil: Du bist aber heute wieder schnell ... [/Edit]
Es drängen sich einige Fragen auf_
- Gibt es im Ordner "D:\test" immer nur eine .001-Datei?
- Falls nein, soll für jede einzelne Datei eine eigene ZIP-Datei erstellt werden?
- In beiden Fällen: Das Umbenennen auf den ursprünglichen Dateinamen kann ja nur funktonieren, wenn die ZIP-Datei in einen anderen Ordner gelegt oder die Ausgangsdatei zwischenzeitlich gelöscht wird - wie sieht der Plan in dieser Hinsicht aus?
Falls das Ziel ein anderer Ordner und jeweils eine eigene ZIP-Datei ist, sollte das (ungetestet) etwa so zu machen sein:
for %%i in (D:\test\*.001) do C:\Programme\7-Zip\7z.exe a -tzip "D:\Anderer Order\%%~nxi" "%%i"
bastla
[Edit] @timobeil: Du bist aber heute wieder schnell ... [/Edit]
Servus,
naja Bastla hat da schon recht...
du schreibst es ja so und nicht "WEBXMSWV.0.DB2.NODE0000.CATN0000.20091025233508.001.zip"
Und wie wir beide schrieben, das mit db2.zip und dann umbenennen ist quark
naja Bastla hat da schon recht...
Die gezippte Datei DB2.zip soll jetzt in den ausgelesenen Dateinamen
"WEBXMSWV.0.DB2.NODE0000.CATN0000.20091025233508.001" umbenannt werden.
"WEBXMSWV.0.DB2.NODE0000.CATN0000.20091025233508.001" umbenannt werden.
du schreibst es ja so und nicht "WEBXMSWV.0.DB2.NODE0000.CATN0000.20091025233508.001.zip"
Und wie wir beide schrieben, das mit db2.zip und dann umbenennen ist quark
Hallo cali169!
Wenn
Grüße
bastla
[Edit] @timobeil: Wird schon knapper ... [/Edit]
Wenn
soll jetzt in den ausgelesenen Dateinamen "WEBXMSWV.0.DB2.NODE0000.CATN0000.20091025233508.001" umbenannt werden.
also bedeutet: ... soll in "WEBXMSWV.0.DB2.NODE0000.CATN0000.20091025233508.001.zip" umbenannt werden - dann:for %%i in (D:\test\*.001) do C:\Programme\7-Zip\7z.exe a "%%~i.zip" "%%i"
bastla
[Edit] @timobeil: Wird schon knapper ... [/Edit]
Moin.
Naja so ungefährlich beschreiben ist nicht meine Stärke.
gruß
Ps:
[Edit] @timobeil: Wird schon knapper ... face-wink [/Edit]
Ja der Sommer/ Frühling soll ja bald auch da sein, dann werden die Röcke auch wieder knapper
und dann läuft dem Papa wieder der Sabba *lol*
for %%i in (D:\test\*.001) do C:\Programme\7-Zip\7z.exe a "%%~i.zip" "%%i"
für jeden Treffer (genannt i )in (D:\test\*.001) mache C:\Programme\7-Zip\7z.exe a Treffer Trefferohne.suffix.zip TrefferNaja so ungefährlich beschreiben ist nicht meine Stärke.
gruß
Ps:
[Edit] @timobeil: Wird schon knapper ... face-wink [/Edit]
Ja der Sommer/ Frühling soll ja bald auch da sein, dann werden die Röcke auch wieder knapper
und dann läuft dem Papa wieder der Sabba *lol*