Top-Themen

Aktuelle Themen (A bis Z)

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
GELÖST

.txt datei mittels Batch auslesen und mit ausgelesenen Daten umbenennen

Frage Entwicklung Batch & Shell

Mitglied: noob-x

noob-x (Level 1) - Jetzt verbinden

08.08.2013 um 16:11 Uhr, 2587 Aufrufe, 8 Kommentare, 3 Danke

Hallo,

ich bekomme viele Textdateien die ich gern nach ihrem Inhalt umbenennen würde.

In der Datei steht immer an der selben Stelle ( Zeile 7, Stelle 63 bis 70 ) eine Zahl
diese Zahl sollte dann den Dateinamen ergeben = 12345678.txt

Bitte um Eure Hilfe


Danke

Andy

Mitglied: colinardo
08.08.2013, aktualisiert um 17:12 Uhr
Hallo Andy,
in Zeile 2 noch den Pfad zu den Textdateien angeben
01.
@echo off & setlocal ENABLEDELAYEDEXPANSION 
02.
set "pathTXTFiles=E:\Tempfolder\Scripte" 
03.
pushd "%pathTXTFiles%" 
04.
for /f "tokens=* delims=" %%a IN ('dir /b /a-d *.txt') DO @( 
05.
	call :setfilename "%%a" 
06.
07.
popd 
08.
goto end 
09.
 
10.
:setfilename 
11.
for /f "usebackq skip=6 tokens=* delims=" %%m IN (%*) DO @( 
12.
	set "filename=%%m" & set "filename=!filename:~62,8!" 
13.
   	move %* "!filename!.txt" 
14.
	goto :EOF 
15.
16.
:end
Grüße Uwe
Bitte warten ..
Mitglied: Endoro
08.08.2013, aktualisiert um 17:11 Uhr
My 2ct:
01.
@echo off &SETLOCAL 
02.
FOR /f "delims=" %%x IN ('dir /b /a-d *.txt') DO ( 
03.
	FOR /f "usebackqskip=6delims=" %%a IN ("%%~x") DO ( 
04.
		SET "nname=%%a" 
05.
		SETLOCAL ENABLEDELAYEDEXPANSION 
06.
		SET "nname=!nname:~62,8!" 
07.
		ECHO REN "%%~x" "!nname!%%~xx" 
08.
		endlocal 
09.
10.
)
lg.
Bitte warten ..
Mitglied: bastla
08.08.2013, aktualisiert um 19:08 Uhr
@ Endoro
Bei "delayedExpansion" ist immer zu berücksichtigen, ob in Dateinamen / Strings "!" vorkommen - die Sicherheitsvariante wäre, alle Variablen vor "SETLOCAL ENABLEDELAYEDEXPANSION" zu befüllen und dann nur noch lesend zu verwenden (ich unterstelle mal, dass in der Extension kein "!" enthalten ist, ansonsten auch diese einer Variablen zuweisen):
01.
@echo off &SETLOCAL 
02.
FOR /f "delims=" %%x IN ('dir /b /a-d *.txt') DO ( 
03.
    FOR /f "usebackqskip=6delims=" %%a IN ("%%~x") DO ( 
04.
        SET "nname=%%a" & SET "datei=%%x" 
05.
        SETLOCAL ENABLEDELAYEDEXPANSION 
06.
        ECHO REN "!datei!" "!nname:~62,8!%%~xx" 
07.
        endlocal 
08.
09.
)
Bei Deinem Ansatz würde eine Datei namens "Ein!kann!vorkommen.txt" auf "Einvorkommen.txt" (wenn %kann% nicht existiert) reduziert, da sich "delayedExpansion" auch auf den Inhalt von Schleifenvariablen auswirkt.

@ colinardo
Da Du von Anfang an "delayedExpansion" verwendest, ergibt sich bei Deiner Version das gleiche Problem ...

Grüße
bastla
Bitte warten ..
Mitglied: Endoro
08.08.2013 um 21:31 Uhr
@bastla ich weiss, danke nochmal.
Man darf auch nicht callen mit einem Dateinamen huckepack wie colinardo das macht ...
lg.
Bitte warten ..
Mitglied: bastla
08.08.2013 um 21:35 Uhr
@ Endoro
Was meinst Du mit
Man darf auch nicht callen mit einem Dateinamen huckepack
?

Grüße
bastla
Bitte warten ..
Mitglied: Endoro
08.08.2013 um 21:42 Uhr
@bastla
Ein Beispiel:
01.
@echo off &SETLOCAL 
02.
SET "filename=120%%" 
03.
ECHO %filename% vor dem CALL 
04.
CALL:sub "%filename%" 
05.
EXIT /b 
06.
 
07.
:sub 
08.
ECHO %~1 nach dem CALL 
09.
EXIT /b
120% vor dem CALL 
120 nach dem CALL
lg.
Bitte warten ..
Mitglied: bastla
08.08.2013 um 21:49 Uhr
@ Endoro
Andere Baustelle, aber klar - das macht man/frau sich ja zB auch mit einem direkten "call" der Art
call set "Var=%%Var:%Suchen%=%Ersetzen%%%"
zunutze ...

Grüße
bastla
Bitte warten ..
Mitglied: noob-x
09.08.2013 um 10:44 Uhr
Hallo,


funktioniert genau so wie ich es brauche.

vielen vielen Dank an Alle.

Grüße

Andy
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
EMail auslesen, verschieben und mit Excel ausgelesene Daten weiterverarbeiten
gelöst Frage von GundelputzMicrosoft Office37 Kommentare

Hallo da draussen, Ich habe mal wieder eine Problemstellung bei der ich eure Hilfe brauche. Ich habe, in Outlook ...

Batch & Shell
Mit Batch .txt auslesen und benutzen
gelöst Frage von GhostJumperHDBatch & Shell8 Kommentare

Ich habe folgendes Problem Ich möchte das W-Lan überlasten und möchte danach die .bat zur .exe umwandeln. Ich möchte ...

Batch & Shell
BATCH Txt datei mit mehreren Computernamen auslesen und Daten wie (Namen und Letzte Startzeit auslesen) und in Txt schreiben
gelöst Frage von ITFloriBatch & Shell1 Kommentar

Hallo zusammen, wir müssen bis morgen ein Script schreiben, welches die ganzen Computernamen aus einer Textdatei ausliest und diese ...

Batch & Shell
PDF Dateien nach Inhalt einer TXT Datei umbenennen
gelöst Frage von Chris1979Batch & Shell2 Kommentare

Hallo zusammen, ich stehe gerade vor einem Problem und hätte eine Frage zur Umsetzung. Ich bin mit der Batch ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 10 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 17 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 1 TagWindows 104 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 1 TagSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement17 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...