Gleichzeitiges Entpacken und Umbenennen von Dateien per FOR Schleife
Ich hab schon ein paar andere Umbenennnungsarien mit FOR gemacht, auch nach Tips die ich hier bekam. Aber bei o.G Fragestellung komme ich nicht weiter
Die Aufgabenstellung:
Entpacken und Umbenennen einer in ein Zip File gepackter Datei mit dem Dateinamen des Zipfiles.
Zipfile=xyz.zip, File im zip=enc023203.txt diese soll nach entpacken dann auch xyz.txt heissen.
Da es auch mehre Zipfiles sein können, die aber immer nur eine Datei enthalten, denke ich ist eine For schleife das einzig senkrechte.
Entpackt wird mit 7zip.
Ich hab mal angefangen was zu Tippen:
<code type>
for /f "delims=" %%i IN ("c:\temp*.zip") DO c:\programme\7z x c:\temp\*.zip -oc:\temp2\ (for %%a IN ("c:\temp2\*.txt") DO ren %%a - %%i.txt)
Vielleicht ist das ja völliger Bullshit was ich da getippt habe, jedenfalls bekomme ich egal was ich auch hinter dem 7z Zielpfad schreibe einen Syntax Error vom 7z nehme ich die Subschleife am Ende weg ist alles gut, das Zip wird entpackt, aber eben mit dem Namen den ich nicht brauchen kann.
Ich hab von einem Kollegen hier mal einen Tip bekommen mit der Subschleife, da habe ich das hier auch mal probiert.
Kann es sein das 7z solche Sachen nicht mitmacht?
Vielen Dank
[Edit Biber] Formatierung geändert auf
Die Aufgabenstellung:
Entpacken und Umbenennen einer in ein Zip File gepackter Datei mit dem Dateinamen des Zipfiles.
Zipfile=xyz.zip, File im zip=enc023203.txt diese soll nach entpacken dann auch xyz.txt heissen.
Da es auch mehre Zipfiles sein können, die aber immer nur eine Datei enthalten, denke ich ist eine For schleife das einzig senkrechte.
Entpackt wird mit 7zip.
Ich hab mal angefangen was zu Tippen:
<code type>
for /f "delims=" %%i IN ("c:\temp*.zip") DO c:\programme\7z x c:\temp\*.zip -oc:\temp2\ (for %%a IN ("c:\temp2\*.txt") DO ren %%a - %%i.txt)
Vielleicht ist das ja völliger Bullshit was ich da getippt habe, jedenfalls bekomme ich egal was ich auch hinter dem 7z Zielpfad schreibe einen Syntax Error vom 7z nehme ich die Subschleife am Ende weg ist alles gut, das Zip wird entpackt, aber eben mit dem Namen den ich nicht brauchen kann.
Ich hab von einem Kollegen hier mal einen Tip bekommen mit der Subschleife, da habe ich das hier auch mal probiert.
Kann es sein das 7z solche Sachen nicht mitmacht?
Vielen Dank
[Edit Biber] Formatierung geändert auf
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 11.06.2010 um 17:38:47 Uhr
Zitat von @derdoctor:
nur beim umbennen macht das das Batch unter 4nt nicht.
Ich hab schon ein paar andere Umbenennnungsarien ....
WTF ist nur an dem Wort "um-be-nen-nen" so tippfehlerträchtig???nur beim umbennen macht das das Batch unter 4nt nicht.
Ich hab schon ein paar andere Umbenennnungsarien ....
Set /a rgc+=2
Ungültige Zahl. Zahlen sind begrenzt auf eine Genauigkeit von 32 Bits.
Schönes Wochenende
Biber
Content-ID: 144614
Url: https://administrator.de/contentid/144614
Ausgedruckt am: 23.11.2024 um 04:11 Uhr
4 Kommentare
Neuester Kommentar
Moin derdoctor,
nimm doch die Informationen aus der Auflistung von 7Zip um die Texfiles nachher umzubenennen!
ungefähr so
bei Erfolg @echo entfernen.
[Edit]
Woher weiss dann die Zeile welche Dateien sie nicht umbenennen soll?
[/Edit]
Gruß Phil
nimm doch die Informationen aus der Auflistung von 7Zip um die Texfiles nachher umzubenennen!
ungefähr so
@echo off
set "ZipDateiOrnder=D:\Heruntergeladen\0 Frisch Heruntergeladen\Archiv"
set "AusgepackterOrdner=D:\Heruntergeladen\0 Frisch Heruntergeladen\Archiv\cTestordner"
set "Dateityp=.txt"
pushD "%AusgepackterOrdner%"
for /f "tokens=1,2*" %%i in ('7za l "%ZipDateiOrnder%\*.zip"') do if "%%i" == "Listing" (set "ZipName=%%~nk") else (echo %%i|findstr /b /v "7 E D -">nul &&for /f "tokens=6* delims=: " %%l in ("%%j %%k") do if "%Dateityp%" == "%%~xm" call :Rename "%%m")
popD&pause&goto :eof
:Rename
if not exist "%~dp1%ZipName%%Dateityp%" (echo ren "%~1" "%ZipName%%Dateityp%") else echo ren "%~1" "%ZipName%(%~n1)%Dateityp%"
bei Erfolg @echo entfernen.
[Edit]
for %%a IN ("c:\temp2\*.txt") DO ren "%%a" "%%~ni.txt"
benennt doch aber alle TXT-Dateien des Ordners in den ZIP-Namen um ....!Woher weiss dann die Zeile welche Dateien sie nicht umbenennen soll?
[/Edit]
Gruß Phil