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

Batch-Copy-Filter für Dateien - Inhalt durchsuchen und selektiv per Filter(unterschiedliche IP-Adressen od. Range) in versch. verzeichnisse kopiert

Frage Entwicklung Batch & Shell

Mitglied: IC-D

IC-D (Level 1) - Jetzt verbinden

28.08.2007, aktualisiert 30.08.2007, 8011 Aufrufe, 5 Kommentare

Hallo zusammen,

mein erster Weg war leider zu direkt.

Ich benötige ein kleines Batch-Programm,
dass aus einem Verzeichnis die enthaltenen Dateien, die im Text eine unterschiedliche IP-Adresse
enthält, in versch. Verzeichnisse kopiert: Also einen Filter

Wenn die Datei die IP-Adresse xxx.xxx.xxx.xxx enthält,
dann soll die Datei, in Laufwerk z,y od. k kopiert werden

Ablauf:

c:\LIS-Data-Forw\ - Verzeichniss

- hier liegen ca. 100 Dateien tägl. mit o.a. Inhalt.

datei.Endung ist: *.dat(ASCII)

Ich habe z.B. 4 gemappte Laufwerke:

Der Inhalt der Dateien – alle mit der Endung *.dat- müssen durchsucht werden
Nach bestimmten IP-Adressen und dann kopiert und zugeordnet werden.

Bsp: Varianten

Haus: Variable: mögliche IP-Adresse: kopiert in verzeichniss:

KH 1-1 set kh 1-1 = 192.168.2.1 q:\
KH 1-2 SET KH 1-2 = 192.168.2.2 q:\
KH 2-1 set kh 2-1 = 112.233.2.1 m:\
KH 2-2 Set kh 2-2 = 112.233.2.2 m:\


besser altern.
Ich gebe in 4 Files(.txt) die IP-Adressen der Häuser
an und die Batch liest die Variablen aus.

Oder die IP-Adressen unterscheiden sich nur in den ersten beiden points:

H1 = 192.168.x.x
H2 = 192.161.x.x

und verwenden diese dann als Filter für die
selektive copy anweisung der dateien.


Danke!


Batch-Filter: Datei-Inhalt durchsuchen und selektiv per Filter(unterschiedliche IP-Adresse) in versch. verzeichnisse kopiert
Mitglied: TuXHunt3R
28.08.2007 um 21:10 Uhr
Wie wärs hiermit (falls ich deinen Beitrag richtig interpretiert habe):

01.
 
02.
@echo off 
03.
 
04.
find /i <Pfad Textdatei 1> "IP-Adresse" 
05.
if errorlevel 0 ( 
06.
copy /v /y <Pfad Textdatei 1> <Ziel> 
07.
goto datei2 
08.
) else ( 
09.
goto datei2 
10.
11.
 
12.
 
13.
 
14.
:datei2 
15.
find /i <Pfad Textdatei 2> "IP-Adresse" 
16.
if errorlevel 0 ( 
17.
copy /v /y <Pfad Textdatei 2> <Ziel> 
18.
goto datei3 
19.
) else ( 
20.
goto datei3 
21.
22.
 
23.
 
24.
:datei3 
25.
 
26.
find /i <Pfad Textdatei 3> "IP-Adresse" 
27.
if errorlevel 0 ( 
28.
copy /v /y <Pfad Textdatei 3> <Ziel> 
29.
goto end 
30.
) else ( 
31.
goto end 
32.
33.
 
34.
 
35.
:: usw. 
36.
:: usw. 
37.
:: usw. 
38.
:: usw. 
39.
:: usw. 
40.
 
41.
 
42.
:end 
43.
 

Ist nicht getestet, sollte aber laufen
Bitte warten ..
Mitglied: bastla
28.08.2007 um 21:46 Uhr
Hallo IC-D!

Ich nehme an Du suchst etwas in der Art:
01.
for /f "delims=" %i in ('findstr /m "192.168.2.1 192.168.2.2" c:\LIS-Data-Forw\*.dat') do @echo copy "%i" q:\
Der obige One-Liner ist zum Testen von der Kommandozeile gedacht. Zur Verwendung innerhalb einer Batchdatei ist jeweils %%i zu schreiben. Das "@echo" dient dazu, den Kopierbefehl nur anzuzeigen, aber nicht auszuführen. "findstr" erlaubt auch die Angabe mehrerer, durch Leerzeichen getrennter, Suchkriterien, sodass also beide IP-Adressen in einem Durchgang überprüft werden können.
Deinen wirklich vielfältigen Beispieldaten entnehme ich zumindest folgende Grundidee: In einer Textdatei ("Zuordnung.txt") wird die Zuordnung zwischen Suchbegriff und Ziellaufwerk in der folgenden Form hinterlegt (welchen Sinn und Zweck die "Häuser" dabei haben sollen, erschließt sich mir derzeit noch nicht):
01.
192.168.2.1=q:\ 
02.
192.168.2.2=q:\ 
03.
112.233.2.1=m:\ 
04.
112.233.2.2=m:\
Ein Batch, um nach dem Muster der oben dargestellten Zeile daraus die gewünschten selektiven Kopieroperationen abzuleiten, könnte dann so aussehen:
01.
@echo off & setlocal 
02.
set "Zu=D:\Zuordnung.txt" 
03.
set "Quelle=c:\LIS-Data-Forw\*.dat" 
04.
 
05.
for /f "usebackq tokens=1,2 delims==" %%i in ("%Zu%") do ( 
06.
    for /f "delims=" %%f in ('findstr /m "%%i" "%Quelle%"') do @echo copy "%%f" "%%j" 
07.
)
Anzumerken wäre, dass Dateien, welche mehrere der überprüften IP-Adressen enthalten, auch mehrmals kopiert werden (für jede Übereinstimmung wird ein Kopiervorgang ausgeführt).

Grüße
bastla
Bitte warten ..
Mitglied: IC-D
29.08.2007 um 00:49 Uhr
Vielen Danke !!!!

das geht gute

habe jetzt:

qcm3-lis-data-sort2.bat
@echo off & setlocal
set "Zu=C:\Zuordnung.txt"
set "Quelle=c:\test\*.dat"

for /f "usebackq tokens=1,2 delims==" %%i in ("%Zu%") do (
for /f "delims=" %%f in ('findstr /m "%%i" "%Quelle%"') do copy "%%f" "%%j"
)

@echo off


und

c:\Zuordnung.txt

172.21.179.*=c:\test2
172.21.40.*=c:\test3
172.21.50.*=c:\test4


Wie kann ich noch sagen, dass er erst alle IPs ausliest,
und die die ich nicht zuordnen kann woanderst ablegt ?

Danke nochmals allen....

LG
John
Bitte warten ..
Mitglied: bastla
29.08.2007 um 02:16 Uhr
Hallo IC-D!

Wenn es genügt, alle vorher nicht kopierten Dateien als "Rest" in den Zielordner "C:\AlleAnderen" zu kopieren, etwa so (ungetestet):
01.
@echo off & setlocal 
02.
set "Zu=C:\Zuordnung.txt" 
03.
set "Quelle=c:\test\*.dat" 
04.
set "Erledigt=C:\Erledigt.txt" 
05.
set "ZielRest=C:\AlleAnderen" 
06.
 
07.
if exist "%Erledigt%" del "%Erledigt%" 
08.
for /f "usebackq tokens=1,* delims==" %%i in ("%Zu%") do ( 
09.
    for /f "delims=" %%f in ('findstr /m /i "%%i" "%Quelle%"') do copy "%%f" "%%j">nul & echo %%f>>"%Erledigt%" 
10.
11.
for %%f in ("%Quelle%") do findstr /c:"%%f" "%Erledigt%">nul || copy "%%f" "%ZielRest%">nul
Es wird jetzt zusätzlich für die zuordenbaren Dateien ein Eintrag in der "Erledigt"-Liste vorgenommen und danach für alle Quelldateien mit "findstr" überprüft, ob sie in dieser Liste enthalten sind - wenn nicht (||), in das "AlleAnderen"-Verzeichnis kopieren ...

Grüße
bastla
Bitte warten ..
Mitglied: IC-D
30.08.2007 um 12:50 Uhr
Tausen Dank an alle !!

Habe jetzt eine Datei, die alles macht !

sortieren der dateien nach IP-Range, z.B. 17.10.10.x und diese
dann backuped und in den Ordner der Schnittstelle verschiebt !!


tausen dank nochmals !!!!!

LG

Dirk

@echo off
rem wsc 06/2005
rem QCM-DATA-FW.BAT
rem script for qcm-data forward to external systems
rem Path C:\Program Files\QCM3

rem script runs as user labor (with password labor)
rem set frequency and user permissions in: Programs -> Accessories -> System Tools -> Sheduled Tasks
rem set proper acl file permission

rem qcm location: xxxxxx
rem date of activation: 12.04.05 / 14.06.05
rem remote_server: 10.10.45.2 (labor-server)
rem remote_share: qcmanager$
rem remote_optional_folder (optional): # in most cases not needed! baden-baden
rem remote_user: labor
rem remote_password: labor

rem forward qcm results from: (standard) 01.01.1999

rem copy all results to C:\LIS-DATA-ALL\
move C:\"Program Files"\QCM3\LISCom\DataForwardingDir\*.dat C:\LIS-DATA-ALL\


rem Sort the files specified by ip-adress-filter set in file c:\Zuordnung.txt

set "Zu=C:\Zuordnung.txt"
set "Quelle=C:\LIS-DATA-ALL\*.dat"

for /f "usebackq tokens=1,2 delims==" %%i in ("%Zu%") do (
for /f "delims=" %%f in ('findstr /m "%%i" "%Quelle%"') do move "%%f" "%%j"
)


rem Check if backup-protokoll-folder exist

rem check if folders LIS-Data-Baden-Baden already exist, if not creating them
if exist C:\LIS-Data-Baden-Baden\sent\ goto NEXT
md C:\LIS-Data-Baden-Baden\sent\
md C:\LIS-Data-Baden-Baden\sent\save
:NEXT

rem check if folders LIS-Data-Forbach already exist, if not creating them
if exist c:\LIS-Data-Forbach\sent\ goto NEXT
md C:\LIS-Data-Forbach\sent\
md C:\LIS-Data-Forbach\sent\save
:NEXT

rem check if folders LIS-Data-Gernsbach already exist, if not creating them
if exist c:\LIS-Data-Gernsbach\sent\ goto NEXT
md C:\LIS-Data-Gernsbach\sent\
md C:\LIS-Data-Gernsbach\sent\save
:NEXT

rem pause

rem @echo on

rem map the ISOFT-Server-Network-Drive as q:

rem - nur in home version - net use * /del /y

rem - nur in home version net use q: \\10.10.45.2\qcmanager$ /user:labor labor /persistent:no

rem copy the lis-files to specified locations and save them

move C:\LIS-Data-Baden-Baden\*.dat C:\LIS-Data-Baden-Baden\sent\
copy C:\LIS-Data-Baden-Baden\sent\*.dat q:\baden-baden\
move C:\LIS-Data-Baden-Baden\sent\*.dat C:\LIS-Data-Baden-Baden\sent\save\

move C:\LIS-Data-Forbach\*.dat C:\LIS-Data-Forbach\sent\
copy C:\LIS-Data-Forbach\sent\*.dat Q:\Forbach\
move C:\LIS-Data-Forbach\sent\*.dat C:\LIS-Data-Forbach\sent\save\

move C:\LIS-Data-Gernsbach\*.dat C:\LIS-Data-Gernsbach\sent\
copy C:\LIS-Data-Gernsbach\sent\*.dat q:\Gernsbach\
move C:\LIS-Data-Gernsbach\sent\*.dat C:\LIS-Data-Gernsbach\sent\save\

rem cut the mapped drive q:
rem - nur in home version net use * /del /y

rem pause

exit
Bitte warten ..
Ähnliche Inhalte
Windows Netzwerk
Tatsächlich freie IP-Adresse filtern
Frage von sbsnewbieWindows Netzwerk12 Kommentare

Moin Admins, gibt es eine Möglichkeit in einem Netzwerk das komplett undokumentiert ist, herauszufinden, welche IP-Adressen tatsächlich frei sind? ...

Batch & Shell
Powershell Filtern Filtern Filtern
gelöst Frage von H41mSh1C0RBatch & Shell10 Kommentare

Aloa in die Runde, ich brech mir gerade wieder etwas die Finger ^^ am Freitag. DataTable einmal durchlaufen und ...

Windows 7
Text filtern, mit Hilfe einer Batch Datei ?
Frage von meisterluehrsWindows 713 Kommentare

Hallo, ich bräuchte mal die Hilfe von ein paar "Experten" :D, die sich mit den Batch-Dateien, bzw der CMD ...

Router & Routing
Netgear MAC Adress Filter
Frage von QfineRsRouter & Routing5 Kommentare

Hallo Community, ich habe eine verständnis Frage. Blockt der Mac Adress Filter bei Netgear nur den Verkehr nach aussen ...

Neue Wissensbeiträge
MikroTik RouterOS

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

Anleitung von colinardo vor 13 StundenMikroTik RouterOS4 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 13 StundenSicherheit1 Kommentar

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

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 16 StundenAdministrator.de Feedback9 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 21 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Frage von ahstaxVisual Studio24 Kommentare

Hallo, ich möchte gerne ein vb.net-Tool schreiben, das am Ende eine Outlook-E-Mail erzeugt. Grundsätzlich ist mir klar, wie das ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

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

Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...