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, 4415 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Wert aus batch in externe txt-Datei oder Zwischenablage? (5)

Frage von Yannxck1 zum Thema Batch & Shell ...

Windows Server
gelöst GPO einem Benutzer zuweisen (6)

Frage von Raucherbein zum Thema Windows Server ...

Batch & Shell
XML nach Liste mit Werten durchsuchen (12)

Frage von bocker zum Thema Batch & Shell ...

Debian
gelöst Bereitgestellter Speicher einer Boot-Partition zuweisen !? (5)

Frage von N4m3n7os3r zum Thema Debian ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

LAN, WAN, Wireless
Ping u. DNS geht am Rechner nicht mehr (19)

Frage von Kuemmel zum Thema LAN, WAN, Wireless ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...