Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

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, 1590 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 Schreiben eines Strings mit Leerzeichen in eine Datei (6)

Frage von c20082005 zum Thema Batch & Shell ...

VB for Applications
Excel: Makro soll mehrer Dateien auslesen und in einer neuen Datei zusammenfassen (12)

Frage von Michelle1995 zum Thema VB for Applications ...

Linux Tools
gelöst Dateien in Unix finden, die mehrere Strings beinhalten (7)

Frage von renegade51 zum Thema Linux Tools ...

Batch & Shell
gelöst Datei zeilenweise auslesen - es passiert aber nichts (3)

Frage von Nagus zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Monitoring
Netzwerk-Monitoring Software (18)

Frage von Ghost108 zum Thema Monitoring ...

Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Windows 10
Windows 10 Fall Creators Update Fehler (13)

Frage von ZeroCool23 zum Thema Windows 10 ...