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

Batch Datei soll String aus einer oder mehreren Dateien auslesen

Frage Entwicklung Batch & Shell

Mitglied: webrunner1

webrunner1 (Level 1) - Jetzt verbinden

15.05.2013 um 12:02 Uhr, 1574 Aufrufe, 7 Kommentare

Hallo zusammen,

ich möchte via Batch aus einer oder mehreren Text-Dateien einen String (steht immer an gleicher Stelle)
auslesen, diesen String als Verzeichnis anlegen (sofern nicht schon vorhanden) und die ausgelesene(n) Datei(en)
in diese(s) Verzeichnis(se) verschieben.

Habe mich in diesem Forum schon einige Hinweise gefunden. Bekomme aber nur den Strin aus einer Datei gelesen.

Kann dazu jemand weiterhelfen?

Vielen Dank schon mal für die Hilfe.

Gruss webrunner1
Mitglied: TsukiSan
15.05.2013 um 13:38 Uhr
Hallo webrunner1,

01.
findstr /?
und
01.
set /?
in der Konsole eingegeben sind deine Freunde oder ES.

Wie sieht denn dein bisheriger Code aus?

Gruss
Tsuki
Bitte warten ..
Mitglied: webrunner1
15.05.2013 um 14:25 Uhr
Hallo Tsuki,

sorry, den habe ich übersehen zu posten:


set dateipfad=c:\temp\
set dateimaske=DEL*.TMP

for /f "delims=" %%a in ('findstr /n /v "qwertzuiop" %dateipfad%%dateimaske% ^|findstr "^1:"') do @Set "%dateipfad%%dateimaske%=%%a"

echo %dateipfad%%dateimaske%ln:~11,6%


Wenn anstelle der Variablen in der FOR-Anweisung ein fester Name gesetzt wird, wird der String gefunden.

In der FOR-Anweisung wird das Ergebnis als Variable ausgegeben, evtl. könnte man gleich das Kopieren in den
Ordner mit dem gesuchten String veranlassen.

Ich hoffe, dass ich mit einigermaßen verständlich ausgedrückt haben.

Gruss
Bitte warten ..
Mitglied: bastla
15.05.2013 um 15:12 Uhr
Hallo webrunner1 und willkommen im Forum!

Ich versuche mal, zu interpretieren: Der in allen "DEL*.TMP"-Dateien enthaltene String befindet sich jeweils in der ersten Zeile ab Position 12 und ist 6 Zeichen lang - falls ja, dann (völlig ungetestet) etwa so:
01.
@echo off & setlocal 
02.
set "dateipfad=c:\temp\" 
03.
set "dateimaske=DEL*.TMP" 
04.
 
05.
pushd "%dateipfad%" 
06.
for /f "delims=" %%i in ('dir /b "%dateimaske%"') do call :ProcessFile "%%i" 
07.
popd 
08.
pause 
09.
goto :eof 
10.
 
11.
:ProcessFile 
12.
set /p Zeile1=<%1 
13.
set "Verzeichnis=%Zeile1:~11,6%" 
14.
md "%Verzeichnis%" 2>nul 
15.
echo move %1 "%Verzeichnis%" 
16.
goto :eof
Die Verzeichnisse werden erstellt, das Verschieben aber wegen des "echo" in Zeile 15 nur durch Ausgabe des "move"-Befehls simuliert. Wenn das Ergebnis vernünftig aussieht, einfach dieses "echo" entfernen ...

Grüße
bastla
Bitte warten ..
Mitglied: webrunner1
15.05.2013 um 15:55 Uhr
Hallo bastla,

die ersten Tests schauen vielversprechend aus.
Vielen Dank für die schnelle Unterstützung.

Gruss webrunner1

P.S. falls ich beim weiteren Ausbau der Routine auf Probleme stoße, werde ich mich nochmal melden.
Bitte warten ..
Mitglied: webrunner1
17.05.2013 um 08:22 Uhr
Hallo bastla,

ich konnte die Routine den Anforderungen soweit anpassen.

Irgendwie steh ich im Wald und komme bei einer Sache (leider) noch nicht weiter:
Was muss in das Script noch eingebaut werden, damit nach dem Abschnitt :ProcessFile
(nachdem die Datei(en) abgearbeitet wurde(n)) noch weitere Anweisungen eingebaut werden können?

Vielen Dank schon mal für die Antwort.

Gruss webrunner1
Bitte warten ..
Mitglied: Biber
17.05.2013 um 10:44 Uhr
Moin webrunner1,

wenn der Batch noch irgendetwas machen soll, nachdem die einzelnen Dateien in :ProcessFile verarbeitet worden sind, dann diesen Code vor die jetzige Zeile "pause" einfügen.

wenn der Batch noch irgendetwas mit den einzelnen Dateien in :ProcessFile machen soll, dann diesen Code vor die jetzige Zeile "goto :eof" in :ProcessFile einfügen.

Grüße
Biber
Bitte warten ..
Mitglied: webrunner1
20.05.2013 um 12:59 Uhr
Hallo Biber,

danke das war's!

Gruss webrunner1
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Bestimmte Daten aus CSV per Windows BATCH Datei in .txt Format schreiben lassen. (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Windows Netzwerk
gelöst Netzwerkpfad per Batch-Datei (6)

Frage von AveiroCR7 zum Thema Windows Netzwerk ...

Batch & Shell
gelöst Batch Datei: ECHO ist ausgeschaltet (OFF) (3)

Frage von twiceface zum Thema Batch & Shell ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(6)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...