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
GELÖST

Bestimmte Informationen aus einer Datei auslesen und mit der Information eine andere Datei umbenennen

Frage Entwicklung Batch & Shell

Mitglied: ClausJan

ClausJan (Level 1) - Jetzt verbinden

15.01.2009, aktualisiert 10:56 Uhr, 4846 Aufrufe, 13 Kommentare

Hallo "Zusammen"

Erstmal will ich hier sagen das dieses Forum wirklich sehr Informativ ist und auch sehr übersichtlich. Ich bin auf das Forum gekommen weil ich ein Problem habe das ich so nicht allein Lösen kann.

Ich habe eine Datei die Info.txt heist so aufgebaut ist:

DOCTYPE FAX
ARCHIVID AG
CLIENT 800
DESTINATION AG01
TYPE AKTT
DOC_TYPE DDEE990400
OBJ_ID 999999999888888888
COMPA 9.gg image/tiff 9.gg

Jetzt soll nur die "OBJ_ID" ausgelesen werden also diese Nummer 999999999888888888 ( die sich aber auch mit jeder neuen Datei ändert ). Mit Dieser Information soll dann die 9.gg die auch in dem Verzeichnissordner liegt
umgeändert werden in 999999999888888888.tif

Damit das auch noch ein wenig mehr Spaß macht gibt es ein Verzeichniss das so aufgebaut ist d:\Import\123456\123
d:\Import\123456\124
d:\Import\123456\125 und so weiter

und so weiter wo immer eine andere Info.txt besteht mit dementsprechenden Informationen ( OBJ_ID )
also wäre es sehr gut wenn es da eine "Schleife" gibt die oben in Verzeichniss Anfängt und das Verzeichniss abarbeitet. Wenn er die Info.txt abgearbeitet hat dann sollte wenn möglich ein Kontrolllauf erfolgen, also ein Check ob er aus der
OBJ_ID Nummer eine Datei mit der ID Nummer erstellt hat und anschliessend die Info.txt als Log umbenennen oder ein Fehler ausweisen.

So jetzt hoffe ich das die Informationen in Ordnung sind und freu mich wenn Ihr mir da Helfen könntet weil mich das jetzt schon seit Tagen fuchst.

LG
Claus
Mitglied: beckslevel91
15.01.2009 um 15:31 Uhr
Hey,

Frage: Soll die OBJ_ID nach belieben oder Zeitgesteuert ausgelesen werden??

Wenn es mit Batch-Befehlen nicht geht, könntest du es mit Linux Debian versuchen... weiß aber nicht genau wie das geht.

Gruß,

J.R.
Bitte warten ..
Mitglied: ClausJan
16.01.2009 um 08:12 Uhr
Hallo

Danke aber mit Linux kann ich das nicht machen. Danke
Bitte warten ..
Mitglied: bastla
30.01.2009 um 21:43 Uhr
Hallo ClausJan!

Etwas zum Testen:
01.
@echo off & setlocal 
02.
set "Basis=D:\import\123456" 
03.
set "Datei=info.txt" 
04.
set "Neu=info.log" 
05.
set "Log=D:\Fehler.txt" 
06.
 
07.
if exist "%Log%" del "%Log%" 
08.
for /d %%i in ("%Basis%\???") do call :ProcessDir "%%i" 
09.
if exist "%Log%" notepad "%Log%" 
10.
goto :eof 
11.
 
12.
:ProcessDir 
13.
pushd %1 
14.
if not exist "%Datei%" (>>"%Log%" echo %~nx1: Datei "%Datei%" fehlt & goto :Ende) 
15.
 
16.
set OBJID= 
17.
for /f "tokens=2" %%a in ('findstr /b "OBJ_ID" "%Datei%" 2^>nul') do set "OBJID=%%a" 
18.
if not defined OBJID (>>"%Log%" echo %~nx1: Zeile OBJ_ID fehlt & goto :Ende) 
19.
 
20.
set COMPA= 
21.
for /f "tokens=2" %%a in ('findstr /b "COMPA" "%Datei%" 2^>nul') do set "COMPA=%%a" 
22.
if not defined COMPA (>>"%Log%" echo %~nx1: Zeile COMPA fehlt & goto :Ende) 
23.
 
24.
if not exist "%COMPA%" (>>"%Log%" echo %~nx1: Datei "%COMPA%" fehlt & goto :Ende) 
25.
 
26.
move "%COMPA%" "%OBJID%.tif" 
27.
if errorlevel 1 ( 
28.
    >>"%Log%" echo %~nx1: Datei "%COMPA%" konnte nicht auf "%OBJID%.tif" umbenannt werden! 
29.
) else ( 
30.
    move "%Datei%" "%Neu%" || >>"%Log%" echo %~nx1: Datei "%Datei%" konnte nicht auf "%Neu%" umbenannt werden! 
31.
32.
 
33.
:Ende 
34.
popd 
35.
goto :eof
Ein Kontrolllauf ist an sich nicht erforderlich, da die entsprechenden Checks schon während der Bearbeitung durchgeführt werden.

Noch eine Anmerkung: In Zeile 8 wird das Suchmuster für die Unterordner mit
"%Basis%\???"
festgelegt, wobei "???" für "123", "124", "125" etc steht - falls der Name des Unterordners aus einer anderen (als 3) Zeichenanzahl bestehen sollte, muss dieses Muster angepasst werden; sollen allerdings ohnehin alle Unterorder des Basispfades bearbeitet werden, wäre "???" durch "*.*" zu ersetzen.

Grüße
bastla
Bitte warten ..
Mitglied: ClausJan
02.02.2009 um 08:57 Uhr
Hallo bastla

So weit Danke für das Script, ich habe nun "getestet" grins und leider ist da noch ein kleiner Fehler

Es kommt diese Fehlermeldung:

back: Datei "1.pg" fehlt
in der Info Datei steht zum schluss "COMP 1.pg image/tiff 1.pg" die 1.pg steht im selben verzeichniss wie die info.txt

Auch das Script läuft nur wenn ich die "Basis" nur das ganze Verzeichniss angebe.

Ich hoffe Du kannst mir nochmal Helfen.

LG Claus
Bitte warten ..
Mitglied: ClausJan
02.02.2009 um 12:45 Uhr
Hallo Bastla

Ich hab das jetzt soweit hin bekommen, aber ich habe noch ein weiteres Problem. Ich melde mich nochmal bei Dir. OK

LG Claus
Bitte warten ..
Mitglied: ClausJan
02.02.2009 um 18:36 Uhr
Hallo Bastla

Also Dein Script geht, ich habe es noch ein wenig für mich angepasst.

Nun ist es so das ich noch eine Steuer Datei benütige mit verschiedene Informationen:

Die Datei soll in dem jeweiligen Verzeichniss erstellt werden und soll den Namen von der OBJ_ID haben.

Also 999999999888888888.open

Der Inhalt der Datei soll so ausschauen:

OBJ_ID;ARCHIVID;DOCTYPE

Ich dachte mir man kann die INformationen aus der Info.Log netnehmen. Wäre ne nette Sache wenn Du mir da nochmal Helfen könntest.

LG Claus
Bitte warten ..
Mitglied: bastla
02.02.2009 um 18:49 Uhr
Hallo ClausJan!

Sollte sich in den obigen Batch integrieren lassen - einfach vor Zeile 33 (":Ende") platzieren:
01.
set DOCTYPE= 
02.
for /f "tokens=2" %%a in ('findstr /b "DOCTYPE" "%Datei%" 2^>nul') do set "DOCTYPE=%%a" 
03.
if not defined DOCTYPE (>>"%Log%" echo %~nx1: Zeile DOCTYPE fehlt & goto :Ende) 
04.
 
05.
set ARCHIVID = 
06.
for /f "tokens=2" %%a in ('findstr /b "ARCHIVID" "%Datei%" 2^>nul') do set "ARCHIVID=%%a" 
07.
if not defined ARCHIVID (>>"%Log%" echo %~nx1: Zeile ARCHIVID fehlt & goto :Ende) 
08.
 
09.
>%OBJ_ID%.open echo %OBJ_ID%;%ARCHIVID%;%DOCTYPE%
Grüße
bastla
Bitte warten ..
Mitglied: ClausJan
03.02.2009 um 09:38 Uhr
Hallo bastla

Leider geht das bei mir nicht so ich bekomme ein DOCTYPE fehler. Das ist bestimmt nur ne Kleinigkeit aber ich komm nicht drauf.

LG Claus
Bitte warten ..
Mitglied: bastla
03.02.2009 um 10:17 Uhr
Hallo ClausJan!
ich bekomme ein DOCTYPE fehler.
Welche Art von Fehler?

Grüße
bastla
Bitte warten ..
Mitglied: ClausJan
03.02.2009 um 17:51 Uhr
Hallo

In der Log Datei steht nur DOCTYPE nicht gefunden. Ich habe das Script in eine neue Batch gesetzt und angepasst das läuft, aber wenn ich es vor dem Ende setze dann geht das nicht. Ich vermute das er die Commands nicht mehr findet und dadurch auch die DOCTYPE von der Datei nicht mehr auslesen kann.

Ich habe da noch eine Frage: Wie kann ich denn 2 Batch dateien so verknüpfen das die nacheinander ablaufen.

LG Claus
Bitte warten ..
Mitglied: bastla
03.02.2009 um 18:41 Uhr
Hallo ClausJan!

Sorry - die angegebene Position ist natürlich Unsinn , wenn in Zeile 26 die Datei, aus der die Daten kommen sollen, bereits verschoben wird - daher nach Zeile 18 und vor Zeile 26 einfügen.
Wie kann ich denn 2 Batch dateien so verknüpfen das die nacheinander ablaufen.
Einfach den Pfad des zweiten Batches als letzten Befehl des ersten Batches eintragen - oben wäre dies (falls es noch nötig sein sollte) als neue Zeile 10.

Grüße
bastla
Bitte warten ..
Mitglied: ClausJan
04.02.2009 um 14:16 Uhr
Hallo Bastla

Also jetzt habe ich das Script soweit das es "geht" ich sage ganz doll Danke an Dich und alle die hier mit geholfen haben.
Ich freu mich das das so geklapt hat und hoffe mal ein Stein zurückwerfen zu können.

LG Claus

PS: Soll ich das ferige Script hier mal abbilden für andere????
Bitte warten ..
Mitglied: bastla
04.02.2009 um 16:54 Uhr
Hallo ClausJan!

Freut micht, dass es geklappt hat - und das Ergebnis kann sich doch sicherlich sehen lassen (besonders, wenn Du es als Code formatiert darstellst ) ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch soll Informationen aus Logfiles auslesen
gelöst Frage von Eichhorn63Batch & Shell8 Kommentare

Hallo, Ich bin neu im Forum und habe folgende Frage: Aus mehreren, jeweils über 1000 Zeilen großen Logfiles sollen ...

Outlook & Mail
PS-Skript zum Auslesen von Informationen
gelöst Frage von 112TimoOutlook & Mail8 Kommentare

Hallo liebe Community, ich habe in meinem Praktikum die Aufgabe bekommen ein PowerShell-Skript zu erstellen, mit dem ich die ...

Batch & Shell
Mittels Batch bestimmte Information aus unbekannter Textdatei auslesen und in XML-Datei schreiben
gelöst Frage von tardezyxBatch & Shell3 Kommentare

Hallo, es sind innerhalb eines Verzeichnisses sehr viele Unterordner vorhanden, in denen sich jeweils eine Textdatei befindet, deren Strukturen ...

Batch & Shell
Powershell Informationen über AD-User auslesen
gelöst Frage von TungdalBatch & Shell4 Kommentare

Hallo Administratoren, Ich hätte da mal eine Frage zur Formatierung von Powershell-Ausgaben. Und zwar habe ich mit Hilfe des ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 19 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 21 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Sichere Remote Desktop Verbindung wie?
gelöst Frage von nuss33Windows Server11 Kommentare

Hallo zusammen, eins vorweg: Ich besitze einen privaten Windows Server 2008 R2 zu Hause im Netzwerk er wird nicht ...