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, 4385 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
Microsoft

Lizenzwiederverkauf und seine Tücken

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch: Variable einen Wert zuweisen (7)

Frage von sascha382 zum Thema Batch & Shell ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...