Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
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???
Set /a rgc+=2 
Ungültige Zahl. Zahlen sind begrenzt auf eine Genauigkeit von 32 Bits.
Schönes Wochenende
Biber
GELÖST

Gleichzeitiges Entpacken und Umbenennen von Dateien per FOR Schleife

Frage Entwicklung Batch & Shell

Mitglied: derdoctor

derdoctor (Level 1) - Jetzt verbinden

10.06.2010, aktualisiert 11.06.2010, 5836 Aufrufe, 4 Kommentare

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:

01.
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 Quellcode, Code oder HTML Snippets. [/Edit]
Mitglied: bastla
10.06.2010 um 22:44 Uhr
Hallo derdoctor!

Eher so:
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" "%%~ni.txt")
Grüße
bastla

P.S.: Ich finde Batch in "Code"-Formatierung schöner ...
Bitte warten ..
Mitglied: derdoctor
11.06.2010 um 10:26 Uhr
Vielen, vielen Dank lieber Bastla,

die "&&" haben mir gefehlt. Soweit geht das alles, nur leider läuft es nicht unter 4nt, die Datei wird immer in %-ni.txt umbenannt. Obwohl der eigentliche Variablenname durchaus vorhanden ist. Also wenn ich statt dem Befehl "ren" mal ein Echo %%~ni setze kriege ich brav den Dateinamen der Zip Datei ausgegeben nur beim umbennen macht das das Batch unter 4nt nicht.

Naja in der normalen shell gehts und das reicht ja auch,

Vielen vielen Dank.
Bitte warten ..
Mitglied: pieh-ejdsch
11.06.2010 um 15:44 Uhr
Moin derdoctor,

nimm doch die Informationen aus der Auflistung von 7Zip um die Texfiles nachher umzubenennen!


ungefähr so
01.
@echo off 
02.
set "ZipDateiOrnder=D:\Heruntergeladen\0 Frisch Heruntergeladen\Archiv" 
03.
set "AusgepackterOrdner=D:\Heruntergeladen\0 Frisch Heruntergeladen\Archiv\cTestordner" 
04.
set "Dateityp=.txt" 
05.
pushD "%AusgepackterOrdner%" 
06.
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") 
07.
popD&pause&goto :eof 
08.
:Rename 
09.
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
Bitte warten ..
Mitglied: derdoctor
12.06.2010 um 14:29 Uhr
Hallo Phil,

vielen dank für diese Mühe

[quote]
benennt doch aber alle TXT-Dateien des Ordners in den ZIP-Namen um ....!
Woher weiss dann die Zeile welche Dateien sie nicht umbenennen soll?
[/quote]

naja es ist definitiv immer nur eine Datei im Zipfile eingepackt, daher reicht die erste Lösung, wobei deine ja der "Königsweg" ist

Vielen herzlichen Dank
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
gelöst Per VBA im Verzeichniss dateien mit Wildcard umbenennen (4)

Frage von usenussi zum Thema Microsoft Office ...

Windows 7
gelöst Mehrere Dateien in Windows umbenennen mit Batchjob (4)

Frage von Jeduja zum Thema Windows 7 ...

Batch & Shell
gelöst Verschieben und Umbenennen von Video-Dateien anhand der Nummer im Namen (3)

Frage von Foja.Filmer zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien eines Ordners mit find welche 1234 im Namen haben umbenennen in x12345 (4)

Frage von reissaus73 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...