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

Text an spezieller Stelle suchen

Frage Entwicklung Batch & Shell

Mitglied: EckerleADM

EckerleADM (Level 1) - Jetzt verbinden

05.03.2009, aktualisiert 16:33 Uhr, 3083 Aufrufe, 4 Kommentare

Hallo,

habe hier folgende Problemstellung zu bewältigen:
Es kommen täglich EDI Daten in ein Verzeichnis (Dateiname variiert (laufende Nummer)).
Dort finde ich immer in der zweiten Zeile an der Position 22 - 25 eine spezielle Nr, mit welcher ich das Werk des Kunden identifizieren kann (XXXX).

511 ...........
512 51201XXXX
513
......

Ich möchte die Datei (wenn möglich per Batch) in ein spezielles Verzeichnis verschieben, wenn ein spezieller Wert an dieser Stelle steht.

Vielen Dank für Eure Hilfe
Mitglied: Biber
05.03.2009 um 19:32 Uhr
Moin EckerleADM,

willkommen im Forum.

Ich habe mir mal 3 Dateichen nach Deinem Muster und unter der Endung *.edi angelegt und komme mit folgendem Oneliner zum Ziel (oder zumindest zu einem Lösungsweg) am CMD-Prompt:
01.
>for /f "delims=: tokens=1,2,4" %i in ('findstr /n $ d:\temp\*.edi^|findstr /C:":2:"') do @set "x=%k" & @echo Datei "%i:%j" kopieren nach Z:\Ziel\!x:~9,4! 
02.
Datei "d:\temp\edi8815.edi" kopieren nach Z:\Ziel\XXXX 
03.
Datei "d:\temp\edi8816.edi" kopieren nach Z:\Ziel\YYYY 
04.
Datei "d:\temp\edi8817.edi" kopieren nach Z:\Ziel\aaaa
Im Batch dann ungefähr:
01.
::---VerteilDieEDIs.cmd --- 
02.
@echo off & SetLocal EnableDelayedExpansion 
03.
Set "sourceDir=D:\Temp" & Set "targetdir=Z:\Ziel" 
04.
FOR /F "delims=: tokens=1,2,4" %%i in ('findstr /n $ "%sourceDir%\*.edi"^|findstr /C:":2:"') do ( 
05.
            set "x=%k"  
06.
           echo MOVE "%i:%j" "%targetDir%\!x:~9,4!" 
07.
)
[Ungetestete Skizze]

Erläuterung:
Ein proof-of-concept bzw. der erste Schritt ist das Rausflöhen der zweiten Zeilen je Datei:
>findstr /n $ d:\temp\*.edi|findstr /C:":2:" 
d:\temp\edi8815.edi:2:512 51201XXXX 
d:\temp\edi8816.edi:2:512 51201YYYY 
d:\temp\edi8817.edi:2:512 51201aaaa
.... durch Durchsuchen aller *.edi-Dateien nach "$" (=Zeilenende) -->liefert alle Zeilen.
Aber wir wollen nur die Zeile 2--> deshalb das Ergebnis nach ":2:" filtern.
Diese Strings danach mit FOR /F durchnudeln.

Grüße
Biber
Bitte warten ..
Mitglied: EckerleADM
06.03.2009 um 07:06 Uhr
Hallo Biber,

vielen Dank für Deinen Lösungsansatz.
Ich werde mir das mal so zusammenbauen und probier dann mal mein Glück.
Bitte warten ..
Mitglied: Biber
06.03.2009 um 07:58 Uhr
Moin EckerleADM,
Zitat von EckerleADM:
... und probier dann mal mein Glück.
Na ja...
Glück ist, seine Freude in der Freude des anderen finden.
Georges Bernanos (1888 - 1948), Schriftsteller

Also teile dann bitte Dein Glück mit uns und setze einen grünen Haken.

Schönes Wochenende
Biber
Bitte warten ..
Mitglied: EckerleADM
06.03.2009 um 11:22 Uhr
So, hab jetzt folgende Lösung umgesetzt:

@echo off & SetLocal EnableDelayedExpansion
set "sourceDir=\\Server\\Quelle" & Set "targetDir=\\Server\\Ziel"

set text="51201XXXX000"

FOR /F "tokens=1,2,4 delims= " %%i in ('findstr /M /L "%text%" "%sourceDir%\*.neu"') do (
MOVE "%%i" "%targetDir%\!x:"

Ich konnte leider die Lösung mit der zweiten Zeile nicht umsetzen, bekam immer wieder einen Syntaxerror
(Vieleicht war ich auch etwas zu ungeduldig bei der Probiererei...)

Da die Zeichenfolge "text" nach Rücksprache mit unserem Kunden eindeutig das Werk identifiziert, habe ich diesen Weg gewählt...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Text an bestimmter Stelle einfügen
gelöst Frage von noob-xBatch & Shell2 Kommentare

Hallo bin mal wieder am Basteln, komm aber nicht weiter wie stelle ich es an dass nummer 1 immer ...

Router & Routing
Suche Router mit speziellen Funktionen
Frage von icepietRouter & Routing3 Kommentare

Hallo Zusammen, Ich bin auf der Suche nach einem neuen Router für Zuhause. Ich habe einen Unitymedia Anschluss mit ...

Microsoft Office
Text in mehreren .docx suchen und ersetzen
gelöst Frage von DerWoWussteMicrosoft Office14 Kommentare

Moin Kollegen. Ich hoffe auf Antworten von Leuten, die genau das per Tool schon mal gemacht haben: Selektiere mehrere ...

Microsoft Office
Excel (2016): Enthaltenen Text suchen
gelöst Frage von ralfkauskMicrosoft Office3 Kommentare

Hallo zusammen Ich brauche mal Hilfe (bei Excel 2016) Ich habe zwei Tabellen In beiden Tabellen gibt es die ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 104 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
Frage von HelloWorldBatch & Shell13 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...