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

Wert aus einer Steuerdatei per Batch zuweisen

Frage Entwicklung Batch & Shell

Mitglied: Erik72

Erik72 (Level 1) - Jetzt verbinden

13.11.2008, aktualisiert 18.11.2008, 4389 Aufrufe, 5 Kommentare

In einem Verzeichnis werden eine oder mehrere Dateien erstellt (Schokolade.txt, Messer.txt, ....).
Zu jedem Dateinamen gehört ein Datensatz in einer Steuerdatei gepflegt, welche inhaltlich so aussieht:

Schokolade.txt bitter
Messer.txt scharf
Auto.txt schnell
Pflanze.txt grün

Nach Skriptaufruf soll eine Bildschirmausgabe in Form der Eigenschaft aus der zweiten Spalte erfolgen.
Wenn z.B. nur die Datei "Auto.txt" erstellt wurde, soll nur "schnell" ausgegeben werden. Bei zwei oder mehreren Dateien natürlich die weiteren zugehörigen Eigenschaften untereinander. Nach Ausgabe sollen die Dateien gelöscht werden.
Ist es möglich über DOS-Batch diese Aufgabe zu realisieren und hat jemand Lösungsansätze?
Danke im voraus
Gruß
Erik
Mitglied: bastla
13.11.2008 um 15:14 Uhr
Hallo Erik72 und willkommen im Forum!

Soferne die Dateinamen keine Leerzeichen enthalten, sollte das (ungetestet) etwa so gehen:
01.
@echo off & setlocal 
02.
for %%i in ("D:\Der Ordner mit den Dateien\*.txt") do for /f "tokens=2" %%a in ('findstr /i /c:"%%~nxi" "D:\Steuerdatei.txt"') do ( 
03.
    echo %%a 
04.
    echo del "%%i" 2>nul 
05.
06.
echo\ 
07.
pause
Das Löschen der Dateien wird (zum Testen) durch das "echo" in Zeile 4 nur angezeigt - wenn tatsächlich gelöscht werden soll, das "echo" entfernen.

Grüße
bastla

[Edit] `ergänzt [/Edit]
Bitte warten ..
Mitglied: Erik72
13.11.2008 um 15:32 Uhr
Hallo bastla,
deine Lösung ist 1A! Ein herzliches Danke.

Es fehlt nur ein ' aber das findet man schnell...

Gruß
Erik
Bitte warten ..
Mitglied: bastla
13.11.2008 um 16:25 Uhr
Hallo Erik72!

Es fehlt nur ein ' aber das findet man schnell...
Das Motto ist zwar "Sparen, wo's geht", aber man kann's auch übertreiben ...

Zum Glück hatte ich aber noch eines übrig - ist jetzt oben eingebaut.

Grüße
bastla
Bitte warten ..
Mitglied: Erik72
18.11.2008 um 13:59 Uhr
Hallo,
es ist zwar gelöst, will unter einer Bedingung aber nicht richtig.
Wenn in der Steuerdatei die Zuordnung identisch beginnt, dann bekomme ich zwei mal die Ausgabe der zweiten Spalte.

Beispiel Steuerdatei:

rot wert1
gruen wert2
gruenblau wert3
blau wert4

Bei Erstellung der Datei gruen werden zwei Werte ausgegeben, namlich wert1 und wert2.

Kann man das irgendwie unterbinden, dass bei Erstellung der Datei gruen der wert3 nicht zugewiesen wird? Schliesslich braucht wert3 die Datei gruenblau!

Vielen Dank schon mal vorab.
Gruß
Erik
Bitte warten ..
Mitglied: bastla
18.11.2008 um 14:36 Uhr
Hallo Erik72!

Nimm dazu auch das auf den Suchbegriff folgende Trennzeichen (=Leerzeichen) in die Suche auf - Zeile 2 sähe dann so aus:
for %%i in ("D:\Der Ordner mit den Dateien\*.txt") do for /f "tokens=2" %%a in ('findstr /i /c:"%%~nxi " "D:\Steuerdatei.txt"') do (
Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Microsoft Office
Excel Zählewenn aus Formel Wert (2)

Frage von cberndt zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (17)

Frage von Driphex zum Thema Exchange Server ...

Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...