Top-Themen

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

Attribute aus mehrern Dateien zusammenfassen

Mitglied: ruebensau

ruebensau (Level 1) - Jetzt verbinden

24.09.2008, aktualisiert 16:23 Uhr, 2734 Aufrufe, 4 Kommentare

Hallo Admins,

hab hier ein glaube ich komplexere Problem und weiß eigentlich nicht ob sich das durch Batchskripting realisieren lässt.

Ich habe eine Datei mit 3 Spalten durch Kommas getrennt mit folgenden Inhalt:


12345,blabla,A12345
27989,testte,A66209
.....


Anhand der Information des 3. Tokens suche ich die Datei innerhalb eines Ordners.
01.
for /f "tokens=1-3 delims=," %%a in (meinedatei.txt) do ( 
02.
	call :searchexist %%a %%b %%c  
03.
04.
 
05.
goto L_END 
06.
 
07.
:searchexist 
08.
for /R C:\test\ %%a in (%3.*) do ( 
09.
	echo %1,%2,%3,%%~fa>>found.log
Also erhalte ich folgenden Output:
12345,blabla,A12345,c:\test\A12345.doc
12345,blabla,A12345,c:\test\A12345.ini
27989,testte,A66209,c:\test\A66209.doc
27989,testte,A66209,c:\test\A66209.ini


Der Output ist richtig so, er findet mir zu jeder doc auch eine ini.

Jetzt die Problematik:

In der ini sind Informationen, die ich auch im Output integrieren will.
Ich möchte nun aus der gefundenen ini die Zeile 3 und 19 auslesen und ins Output integrieren.

Die ini sieht folgendermaßen aus:
...
Date=20.12.1980
...
ProjectNo=06nk11924
...

Somit möchte ich folgenden Output erhalten:

12345,blabla,A12345,20.12.1980,06nk11924,c:\test\A12345.doc
12345,blabla,A12345,20.12.1980,06nk11924,c:\test\A12345.ini
27989,testte,A66209,11.10.2005,0z663451w,c:\test\A66209.doc
27989,testte,A66209,11.10.2005,0z663451w,c:\test\A66209.ini

Wie mache ich das?
Danke schonmal im voraus!
Mitglied: Iwan
24.09.2008 um 08:32 Uhr
hallo,

ich kann dir leider nicht helfen, aber du solltest dir mal die Formatierungshilfe angucken und dann deinen Beitrag nochmal bearbeiten
das macht das ganze wesentlich leichter zu lesen
Bitte warten ..
Mitglied: bastla
24.09.2008 um 10:53 Uhr
Hallo rübensau!

(Ungetestet) etwa so:
01.
@echo off & setlocal 
02.
for /f "tokens=1-3 delims=," %%a in (meinedatei.txt) do ( 
03.
    for /R C:\test\ %%f in (%%c.*) do ( 
04.
	    call :GetInfoAndWrite %%a %%b %%c "%%f" 
05.
06.
 
07.
goto L_END 
08.
 
09.
:GetInfoAndWrite 
10.
set Datum= 
11.
for /f "tokens=1* delims=" %%i in ('findstr /b "Date=" %4') do set "Datum=%%j" 
12.
set Project= 
13.
for /f "tokens=1* delims=" %%i in ('findstr /b "ProjectNo=" %4') do set "Project=%%j" 
14.
echo %1,%2,%3,%Datum%,%Project%,%~f4>>found.log 
15.
goto :eof
Vorausgesetzt wird hier, dass die entsprechenden Zeilen tatsächlich mit (exakt) "Date=" bzw "ProjectNo=" beginnen und es jeweils nur eine derartige Zeile gibt (bei mehreren Zeilen würdest du die Daten aus der letzten gefundenen Zeile erhalten).

Mit dem "findstr"-Schalter "/i" könntest Du noch vorgeben, dass bei der Suche Groß-/Kleinschreibung nicht unterschieden werden soll.

Grüße
bastla
Bitte warten ..
Mitglied: ruebensau
24.09.2008 um 15:43 Uhr
Hab den Code ein wenig umgestellt und funktioniert jetzt auch. Vorher hatte ich irgendwie noch Endlosschleifen und mit Variablenproblemen zu kämpfen.
Thx bastla

01.
setlocal enabledelayedexpansion 
02.
 
03.
rem mawk.exe -F; -f identic.awk importvorlage_ver2.csv>identic.log 
04.
 
05.
for /f "tokens=1-3 delims=;" %%a in (identic.log) do ( 
06.
	call :searchexist %%a %%b "%%c" 
07.
08.
 
09.
goto L_END 
10.
 
11.
:searchexist 
12.
for /R F:\ULDokumente_Chicago\QRS_certificates %%a in (%1.*) do ( 
13.
	echo %1;%2;%3;%%~fa;%%~dpa;%%~na>>found.log 
14.
15.
goto :EOF 
16.
 
17.
:L_END 
18.
 
19.
for /f "tokens=1-6 delims=;" %%a in (found.log) do ( 
20.
	call :SearchInFile %%a %%b %%c %%d %%e %%f 
21.
22.
 
23.
goto L_END1 
24.
 
25.
:SearchInFile 
26.
set Vol= 
27.
for /f "tokens=2 delims==" %%i in ('findstr /B /C:"Volume" %4') do (set "Vol=%%i") 
28.
set Project= 
29.
for /f "tokens=2 delims==" %%i in ('findstr /B /C:"ProjectNo" %4') do (set "Project=%%i") 
30.
echo %1;%2;%3;%Vol%;%Project%;%4>>test.log 
31.
if exist %5C%6.doc echo %1;%2;%3;%Vol%;%Project%;%5C%6.doc>>test.log 
32.
goto :EOF 
33.
 
34.
:L_END1
werde noch ein wenig rumbasteln müssen, daher markiere ich den Beitrag erstmal noch nicht auf gelöst.
Bitte warten ..
Mitglied: bastla
24.09.2008 um 16:23 Uhr
Hallo rübensau!

Nur als Anmerkung: Soferne Du für "found.log" nicht auch noch eine andere Verwendung hast, ist dieser Zwischenschritt eigentlich unnötig - Du könntest anstelle des "echo" in Zeile 13 gleich ein "call :SearchInFile" verwenden ...

Und noch eine Kleinigkeit: Wenn der Suchbegriff aus einem einzigen Wort besteht, ist der "findstr"-Schalter "/c" eigentlich entbehrlich.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
VB for Applications

Ordner mit mehreren csv. Dateien in eine Excel Datei zusammenfassen

gelöst Frage von Metal008VB for Applications23 Kommentare

Hallo, ich stehe vor folgendem Problem. Ich möchte enorme Datenmengen in eine Excel, oder auch Access Datei zusammenfassen. Ich ...

VB for Applications

VBA Excel Dateien zusammenfassen

Frage von cberndtVB for Applications3 Kommentare

Hi Leute. Ich bin dabei einen Ordner mit Excellisten zusammenzufassen. Im Ordner sind gut 600 einzelne Excel Dateien die ...

Batch & Shell

Dateien in Unterverzeichnissen auflisten mit Attributen

gelöst Frage von goodbytesBatch & Shell4 Kommentare

Hallo, ich habe sehr viele Dateien in einem Ordner mit vielen Unterordnern. Per Batch oder vbs oder vba aus ...

Batch & Shell

Mehrere CSV Dateien via Batch zu einer CSV-Datei zusammenfassen

gelöst Frage von neokraftBatch & Shell2 Kommentare

Hallo zusammen, vermutlich ein ganz billiges Problem. Ich hab das ganze bisher so versucht: type *.csv >> output.txt ren ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 17 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 20 StundenAdministrator.de Feedback14 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Network
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Network15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Memory Cards
Vergessliche USB-Sticks?
Frage von hanheikMemory Cards14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...