Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Bat-Datei erstellen um damit zahlen aus datein zu kopieren und in eine .txt schreiben

Frage Entwicklung Batch & Shell

Mitglied: husana

husana (Level 1) - Jetzt verbinden

08.09.2010 um 14:46 Uhr, 4335 Aufrufe, 4 Kommentare

Hallo. Ich bin neu hier und kenn mich noch nicht so mit bat-programierung aus. Hoffe das mit hier jemand helfen kann?

Hier meine Frage:
Habe den Ordner "Beispiel". In diesem sind mehrere Unterordner mit Namen AA, AB, AC, AD, AE usw.
In jedem dieser Unterordner ist eine Datei "test.ini" drin. Innerhalb dieser "test.ini" steht in der 10.Zeile "Terminal = 10" (Jeder Unterordner (AA, AB usw.) hat dort eine andere Nr.)

Möchte nun eine Bat-Datei erstellen, die nur diese Nr. ausliest und in ein Textdokument einfügt.

Diese sollte dann so aussehen:

AA - 10
AB - 15
AC - 18
usw.

Danke
husana
Mitglied: bastla
08.09.2010 um 14:55 Uhr
Hallo husana und willkommen im Forum!

Soferne die Zeile 10 die einzige Zeile ist, die mit "Terminal = " beginnt, könnte das (ungetestet) so gehen:
01.
@echo off & setlocal 
02.
set "Ordner=D:\Beispiel" 
03.
set "Liste=D:\Textdokument.txt" 
04.
 
05.
del "%Liste%" 2>nul 
06.
for /d %%i in ("%Ordner%\*.*") do if exist "%%i\test.ini" for /f "tokens=3" %%a in ('findstr /b /c:"Terminal = " "%%i\test.ini"') do >>"%Liste%" echo %%~nxi - %%a
Mit dem ersten "for" werden alle Unterordner (die dann als %%i zur Verfügung stehen) abgegrast, und das zweite "for" zerlegt die gefundene Zeile anhand des Standardtrennzeichens "Leerzeichen" und liefert den 3. Bestandteil ("token") als %%a ...

Infos zu den Befehlen erhältst Du mit "Befehl /?", zB
findstr /?
[Edit] Mit %%~nxi sichergestellt, dass nur der Ordnername in die Liste geschrieben wird. [/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: LotPings
08.09.2010 um 22:04 Uhr
Hallo Bastla,

findstr kann doch auch rekuriv suchen, wäre dies nicht einfacher:
01.
@echo off & setlocal 
02.
set "Ordner=D:\Beispiel" 
03.
set "Liste=D:\Test\Textdokument.txt" 
04.
Pushd %Ordner% 
05.
del "%Liste%" 2>nul 
06.
for /F "tokens=1-4 delims=\:=" %%A in ( 'findstr /S /B /C:"Terminal = " test.ini ' ) Do >>"%Liste%" Echo.%%A -%%D 
07.
PopD
Gruß
LotPings
Bitte warten ..
Mitglied: bastla
08.09.2010 um 22:18 Uhr
Hallo LotPings!

Wenn es keine weiteren Unterordner mit möglichen Fundstellen gibt, sicher der bessere Ansatz ...

Grüße
bastla
Bitte warten ..
Mitglied: husana
09.09.2010 um 10:16 Uhr
Guten Morgen

Habe es heute morgen endlich geschafft, nach dem ich gestern verzweifelt aufgegeben habe!!!

Vielen Dank an meine Helfer ;)

Hier mein fertige Batch:

@echo off & setlocal
set "Ordner=D:\Beispiel"
set "Liste=D:\Test\Textdokument.txt"
pushd %Ordner%
del "%Liste%" 2>nul
for /d %%i in ("%Ordner%\*.*") do if exist "%%i\test.ini" for /f "tokens=3" %%a in ( 'findstr /b /c:"Terminal = " "%%i\test.ini"' ) do >>"%Liste%" echo %%~nxi - %%a
popd

Gruß
husana
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch Datei zum Kopieren aktueller Dateien erstellen (5)

Frage von daniel011 zum Thema Batch & Shell ...

Batch & Shell
gelöst Größe einer Datei per BATCH in eine TXT schreiben (5)

Frage von marvinpl zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheit

Millionen Euro in den Sand gesetzt?

(1)

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(10)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Heiß diskutierte Inhalte
Humor (lol)
gelöst Freidach Beitrag (40)

Frage von Penny.Cilin zum Thema Humor (lol) ...

Windows 7
gelöst SSD - Win7 Lags (20)

Frage von ph5555 zum Thema Windows 7 ...

Firewall
gelöst Firewall Firmeneimsatz (19)

Frage von wiesi200 zum Thema Firewall ...