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
Kommentar vom Moderator Biber am 22.02.2010 um 17:11:18 Uhr
Warum passiert es immer montachs....?
Über kompetente Hilfe bin ich im Voraus sehr dankbar..
...dass so nette junge Menschen über Hilfe dankbar sind und sich für jede Antwort freuen....*seufz*...

Textdatei mit bestimmtem Inhalt verschieben

Frage Entwicklung Batch & Shell

Mitglied: msblaster32

msblaster32 (Level 1) - Jetzt verbinden

22.02.2010, aktualisiert 17:11 Uhr, 3393 Aufrufe, 11 Kommentare

Hallo Community, ich bin mal wieder auf der Suche nach einer Antwort zur einer Frage die eigentlich ganz einfach ist, irgendwie jedoch nicht. Ich möchte eine Textdatei auslesen und auf Grund Ihres Inhalts dann eine Aktion(z.B. Verschieben) durchführen.

Die Textdatei hat die Endung *.test und ist im normalen Zeichenformat codiert. Ich suche einen Befehl der in die Datei schaut und dann auf Grund eines bestimmten Wortes, welches sich innerhalb der Datei befindet, diese dann in einen entsprechenden Ordner kopiert. Z.B. taucht in der 3. Zeile stets eine Mailadresse auf. Abhängig von dieser würde ich die Datei dann gerne in einen definierten Ordner verschieben lassen.

Ist sowas mit ein paar einfachen Befehlen möglich? Ich habe schon mit robocopy, xcopy und find rumprobiert, aber das führt alles irgendwie nicht zum Ziel.

Über kompetente Hilfe bin ich im Voraus sehr dankbar...
Mitglied: Snowman25
22.02.2010 um 16:58 Uhr
01.
type abc.test|findstr a@b.de 
02.
if %ERRORLEVEL%==0 move abc.test D:\aatb
so in etwa?
Bitte warten ..
Mitglied: pete.dawgg
22.02.2010 um 17:02 Uhr
installier die die gnu-tools. dann
if [ `grep -q SUCHWORT FILE.TEST; echo $?` -eq 0 ]; then mv FILE.TEST ZIEL; fi
(so in etwa, vorbehaltlich Tippfehlern)
Bitte warten ..
Mitglied: Snowman25
22.02.2010 um 19:22 Uhr
Zitat von pete.dawgg:
installier die die gnu-tools

Also bitte...
Wenn die Aufgabe nicht mit Bordmitteln zu lösen ist, dann wöre das vllt. angebracht.
Allerdings ist das Problem locker mit Bordmitteln zu schaffen, da brauch ich nichts externes

Gruß
Snow
Bitte warten ..
Mitglied: msblaster32
23.02.2010 um 09:58 Uhr
Hallo und danke erstmal für die Antworten!


geht leider noch nicht so ganz, er durchsucht alle Dateien und da der Begriff in einer der Dateien gefunden wurde, gibts anscheinend immer automatisch den errorlevel 1, somit werden dann im Anschluss auch die Dateien kopiert, in welchen die Mailadresse gar nicht drinn steht...

so sieht es derzeitig aus:
type *.test|findstr /R %adressen_test%
if %ERRORLEVEL%==0 copy *.test %pfad_test%
if not move *.test %pfad_test1%

hat jemand einen Tipp? Ich möchte halt in der Variable %adressen_test% festlegen, für welche Mails der Kopiervorgang gilt, wenn eine Adresse in der Datei steht, die unbekannt ist, soll die Datei in einen anderen Ordner verschoben werden.
Bitte warten ..
Mitglied: Snowman25
23.02.2010 um 10:17 Uhr
If not move???
sowas gibts nicht!
01.
type *.test|findstr /R %adressen_test% 
02.
if %ERRORLEVEL%==0 ( 
03.
	copy *.test %pfad_test% 
04.
) else ( 
05.
	move *.test %pfad_test1% 
06.
)
So würde das schon eher funktionieren
Bitte warten ..
Mitglied: msblaster32
23.02.2010 um 10:41 Uhr
hatte das mal irgendwo gelesen, dass man nach einem if mit "if not" weiterarbeiten kann,

habe den Code jetzt entsprechend angepasst mit dem selben Ergebnis wie vorher, es werden nach wie vor, ausnahmslos alle Dateien kopiert, egal ob die Mailadresse drinn steht oder nicht.

habe testweise eine leere datei mit der endung.test erstellt, wir kopiert obwohl nichts drinn steht, fast so, als hätte findstr überhaupt keine funktion
Bitte warten ..
Mitglied: Snowman25
23.02.2010 um 16:52 Uhr
stimmt deine Variable %adressen_test% denn auch? Woher kommt das /R? Das gehört nicht in den Befehl rein.
mit copy *.test wählst du alle dateien aus, die die Endung .test haben. Logischerweise wird dann auch die Leere kopiert, wenn er einmal deine mailadresse findet.
machs mit ner for-schleife.

Gruß
Snow
Bitte warten ..
Mitglied: msblaster32
24.02.2010 um 09:24 Uhr
das /r hatte ich testweise eingefügt da ich vermutete, das er sonst auch nach leerzeichen sucht bzw einzelnen worten in der variable %adressen_test%

Wie du schon richtig schreibst, liegt das Problem daran, dass die leeren Dateien auch kopiert werden da in einer der Dateien die Mailadresse gefunden wurde.

Könntest du mir ein paar Tipps geben, wie man nach einander alle Dateien durcharbeiten lassen und dann entsprechend verarbeiten kann? So versteh ich jetzt grad den Sinn der for-Schleife!?

Danke trotzdem nochmal für die bisherige Hilfe
Bitte warten ..
Mitglied: Snowman25
24.02.2010 um 11:09 Uhr
hallo msblaster32,

Lies dir einfach mal die Hilfe zur For-schleife durch (for /?)
Ich dachte da an etwas wie:
for %%I in (*.test) do ( 
	type %%I | findstr %adressen_test% 
	if %ERRORLEVEL%==0 ( 
		copy %%I %pfad_test% 
	) else ( 
		move %%I %pfad_neu% 
)
UNGETESTET

Gruß
Snow
Bitte warten ..
Mitglied: msblaster32
25.02.2010 um 15:24 Uhr
moin, funktioniert leider überhaupt nicht, sagt immer das %%I syntaktisch nicht verarbeitbar ist, kopiert aber die Dateien welche eigentlich verschoben werden sollen. Habe leider nicht so viel Ahnung von for-Schleifen und Batchprogrammierung.

MfG
Bitte warten ..
Mitglied: Snowman25
25.02.2010 um 16:53 Uhr
Zitat von msblaster32:
sagt immer das %%I syntaktisch nicht verarbeitbar ist

Du musst das ganze natürlich als Batch-Datei ablaufen lassen.
Wenn du es direkt am Prompt eingibst, dann mit nur einem %-Zeichen
Bitte warten ..
Ähnliche Inhalte
Windows 8
Ordner verschieben mit Hilfe einer Textdatei
Frage von SluggerWindows 88 Kommentare

Hallo, ich habe folgendes Problem. In einer *.txt habe ich Ordner aufgelistet die von "y:\quellordner" nach "x:\Zielordner" verschoben werden ...

Batch & Shell
Einen bestimmten Teil einer Textdatei auslesen
gelöst Frage von Focus1610Batch & Shell5 Kommentare

Hallo, ich brauche mal einen Denkanstoß. Ich bekomme per FTP von einem Kunden täglich mehrere Textdateien. Diese haben unterschiudlich ...

Batch & Shell
Zeichenfolge in Textdatei durch Inhalt einer Umgebungsvariable ersetzen
gelöst Frage von SarekHLBatch & Shell7 Kommentare

Hallo zusammen, wie kann ich mittels Batch in einer Textdatei die Zeichenfolge durch den Inhalt der Umgebungsvariable %username% ersetzen? ...

Batch & Shell
Powershell Textdatei Inhalt am Anfang einfügen
gelöst Frage von Timo0oBatch & Shell3 Kommentare

Wie kann ich einen Text in eine Textdatei mit Inhalt am Anfang einfügen? So wie ich es hier habe ...

Neue Wissensbeiträge
Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 16 MinutenWindows 10

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 3 StundenMicrosoft Office13 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Erkennung und -Abwehr

Sicherheitslücke Spectre und Meltdown: Status prüfen

Anleitung von Frank vor 9 StundenErkennung und -Abwehr2 Kommentare

Nach all den Updates der letzten Woche sollte man unbedingt auch den Status prüfen, ob die Sicherheitslücken Spectre, Meltdown ...

Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 1 TagMicrosoft Office10 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner15 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...

Batch & Shell
Dateien verschieben mit batch
gelöst Frage von michi-ffmBatch & Shell13 Kommentare

Hallo Zusammen hat jemand evtl eine Idee? Zunächst hier das Skript: Leider werden keine UNC-Pfade unterstüzt, kann mir jemand ...