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
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, 4328 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 Größe einer Datei per BATCH in eine TXT schreiben (5)

Frage von marvinpl zum Thema Batch & Shell ...

Windows Server
Nutzer per Bat-Datei zum AD hinzufügen (1)

Frage von elsa-ebs zum Thema Windows Server ...

Batch & Shell
gelöst Per Batch in ausgewählte oder vorgeschriebene Zeile einer .txt schreiben (6)

Frage von pdiddo zum Thema Batch & Shell ...

Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(7)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(11)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Dir tc Befehl unter Windows 10 macht Probleme (14)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server Komplettspiegelung (13)

Frage von pdiddo zum Thema Windows Server ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...