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-Datei: Datei auslesen, verarbeiten und Bilder kopieren

Mitglied: mylittleweb

mylittleweb (Level 1) - Jetzt verbinden

01.07.2013 um 12:05 Uhr, 2503 Aufrufe, 15 Kommentare, 2 Danke

Hallo Community,

ich möchte eine kleine Batch-Datei schreiben.

Dazu habe ich eine CSV oder Text-Datei (jeh nach dem, was besser ist). Die Einträge wären dabei durch ein Semikolon getrennt (art1;art2;art3;art4) (Dabei bin ich flexibel, sollten die Einträge so schlecht weiter zu verarbeiten sein, kann ich sie auch anders eintragen lassen.)

Zudem habe ich einen Ordner voller Bilder (D:\OrdnerVollerBilder).


Die Batch-Datei soll nun:
Alle Einträge der CSV oder Text Datei einlesen, überprüfen, welche Bilder mit einem der Einträge anfangen und diese dann in einen anderen Ordner kopieren.


Beispiel:

Datei:
art1;art2;art3

Bilder im Ordner:
art1.jpg
art2_käsekuchen.jpg
art3.jpg
art4.jpg


In einen neuen Ordner kopiert werden sollten hierbei nun:
art1.jpg
art2_käsekuchen.jpg
art3.jpg



Kann mir jemand helfen?

Grüße,
Jürgen


Mitglied: colinardo
01.07.2013, aktualisiert um 12:39 Uhr
Hallo Jürgen,
warum machst du einen zweiten Thread mit dem selben Inhalt auf ??

Bau deine CSV besser so auf
art1 
art2 
art3
dann kannst du folgendes benutzen(Zeile 2-4 an deine Umgebung anpassen):
01.
@echo off & setlocal ENABLEDELAYEDEXPANSION 
02.
set IMAGEFOLDER=D:\OrdnerVollerBilder 
03.
set TARGETFOLDER=D:\Zielordner 
04.
set CSVFILE=c:\csv.txt 
05.
 
06.
for /f "tokens=*" %%k IN ('type "%CSVFILE%"') DO @( 
07.
   set nr=%%k 
08.
   for %%l IN ("!IMAGEFOLDER!\!nr!*.jpg") DO @( 
09.
      move "%%~fl" "!TARGETFOLDER!" 
10.
11.
)
und lösche bitte einen Thread von den beiden ...
Grüße Uwe
Bitte warten ..
Mitglied: mylittleweb
01.07.2013 um 12:35 Uhr
Hallo Uwe,

der neue Thread wurde erstellt, weil der andere schlecht beschrieben war. Der alte wurde nun natürlich gelöscht.


Nun habe ich deinen Code übernommen und angepasst, jedoch funktioniert es nicht (es werden keine Bilder kopiert)

Mein Code:
01.
@echo off & setlocal ENABLEDELAYEDEXPANSION  
02.
set IMAGEFOLDER=C:\Users\jrg\Documents\test\test\kokoloco  
03.
set TARGETFOLDER=C:\Users\jrg\Documents\test\test\hopfen  
04.
set CSVFILE=C:\Users\jrg\Documents\test\test\test.csv 
05.
  
06.
for /f "tokens=*" %%k IN ('type "%CSVFILE%"') DO @(  
07.
   set nr=%%k  
08.
   for %%l IN ("!IMAGEFOLDER!\!nr!*.jpg") DO (  
09.
      move "%%~fl" "!TARGETFOLDER!"  
10.
   )  
11.
)
Grüße, Jürgen
Bitte warten ..
Mitglied: colinardo
01.07.2013 um 12:38 Uhr
hast du deine CSV wie ich geschrieben habe angepasst ?
also untereinander..
art1 
art2 
art3
Bitte warten ..
Mitglied: mylittleweb
01.07.2013 um 12:45 Uhr
Ja habe ich.

Eine kleine, jedoch sehr wichtige Bemerkung noch, die ich vergessen habe und wahrscheinlich liegt es komplett daran.

Die Bilder fangen nicht alle mit "art" an.

Sie können "gustav1" "perter23" oder halt "art2" heißen.
Bitte warten ..
Mitglied: colinardo
01.07.2013, aktualisiert um 12:58 Uhr
Zitat von mylittleweb:
Sie können "gustav1" "perter23" oder halt "art2" heißen.
das war mir klar.
Hier funktioniert das ganze aber einwandfrei...
Bitte warten ..
Mitglied: mylittleweb
01.07.2013 um 12:59 Uhr
Hier mal meine CSV-Datei

http://www.file-upload.net/download-7783943/test.csv.html (auf den weißen Download-Button mit dem grünen Pfeil links klicken, die restlichen sind Werbung)


Stimmt eventuell mit dieser etwas nicht?
Bitte warten ..
Mitglied: colinardo
01.07.2013 um 13:10 Uhr
die ist i.O.
dann mach halt mal das @echo off raus und starte die Batch mal in einer Konsole, und sieh nach was für einen Fehler er Dir bringt.
Bitte warten ..
Mitglied: mylittleweb
01.07.2013 um 13:22 Uhr
Ich schätze mal, das & danach muss ich dann auch noch löschen, oder?

Dann läuft es durch, ohne Fehlermeldung.
01.
c:\test\hopfen>test.bat 
02.
 
03.
c:\test\hopfen>setlocal ENABLEDELAYEDEXPANSION 
04.
 
05.
c:\test\hopfen>set IMAGEFOLDER=C:\test\kokoloco 
06.
 
07.
c:\test\hopfen>set TARGETFOLDER=C:\test\hopfen 
08.
 
09.
c:\test\hopfen>set CSVFILE=C:\test\csv\test.csv 
10.
 
11.
c:\test\hopfen>for /F "tokens=*" %k IN ('type "C:\test\csv\test.csv"') DO @( 
12.
set nr=%k 
13.
 for %l IN ("!IMAGEFOLDER!\!nr!*.jpg") DO (move "%~fl" "!TARGETFOLDER!"  ) 
14.
)
Bitte warten ..
Mitglied: colinardo
01.07.2013 um 13:25 Uhr
Zitat von mylittleweb:
Ich schätze mal, das & danach muss ich dann auch noch löschen, oder?
klar...
sind im Pfad IMAGEFOLDER wirklich deine Bilder ? oder habe wir uns da mit der Benennung der Variablen missverstanden.
Bitte warten ..
Mitglied: mylittleweb
01.07.2013 um 13:39 Uhr
im Pfad IMAGEFOLDER liegen meine Bilder. Ich schätze so ist es verständlicher, wenn die Ordner richtig benannt sind:

01.
c:\movefiles\bat>test.bat 
02.
 
03.
c:\movefiles\bat>setlocal ENABLEDELAYEDEXPANSION 
04.
 
05.
c:\movefiles\bat>set IMAGEFOLDER=C:\movefiles\imagefolder 
06.
 
07.
c:\movefiles\bat>set TARGETFOLDER=C:\movefiles\targetfolder 
08.
 
09.
c:\movefiles\bat>set CSVFILE=C:\movefiles\csv\test.csv 
10.
 
11.
c:\movefiles\bat>for /F "tokens=*" %k IN ('type "C:\movefiles\csv\test.csv"') DO 
12.
 @( 
13.
set nr=%k 
14.
 for %l IN ("!IMAGEFOLDER!\!nr!*.jpg") DO (xcopy "%~fl" "!TARGETFOLDER!"  ) 
15.
)
Funktionieren tut es leider trotzdem nicht
Bitte warten ..
Mitglied: Endoro
01.07.2013, aktualisiert um 16:28 Uhr
Hallo Jürgen,

kannst du mal testen:

01.
@echo OFF &setlocal 
02.
set "IMAGEFOLDER=C:\movefiles\imagefolder" 
03.
set "TARGETFOLDER=C:\movefiles\targetfolder" 
04.
set "CSVFILE=C:\movefiles\csv\test.csv" 
05.
for /F usebackq %%k IN ("%CSVFILE%") DO xcopy "%IMAGEFOLDER%\%%k*.jpg" "%TARGETFOLDER%"
lg,
Bitte warten ..
Mitglied: mylittleweb
01.07.2013 um 17:05 Uhr
Das Funktioniert, danke!
Bitte warten ..
Mitglied: mylittleweb
01.07.2013 um 17:13 Uhr
Leider muss ich jedoch nun noch etwas präziser werden, wenn es darum geht etwas zu kopieren.

Das Bild im Ordner darf nur kopiert werden, wenn es komplett dem Namen in der CSV-Datei entspricht, oder wenn es komplett dem Namen in der CSV-Datei entspricht, danach einen Unterstrich hat und der Rest ist dann wieder egal. Beispiel:


CSV-Eintrag
hkzt

Bilder
hkzt
hkzt_ad
hkztbs


Kopiert werden sollen:
hkzt
hkzt_ad
Bitte warten ..
Mitglied: colinardo
01.07.2013 um 17:27 Uhr
01.
@echo OFF &setlocal 
02.
set "IMAGEFOLDER=C:\movefiles\imagefolder" 
03.
set "TARGETFOLDER=C:\movefiles\targetfolder" 
04.
set "CSVFILE=C:\movefiles\csv\test.csv" 
05.
for /F usebackq %%k IN ("%CSVFILE%") DO ( 
06.
   xcopy "%IMAGEFOLDER%\%%k.jpg" "%TARGETFOLDER%" 
07.
   xcopy "%IMAGEFOLDER%\%%k_*.jpg" "%TARGETFOLDER%" 
08.
)
Bitte warten ..
Mitglied: mylittleweb
01.07.2013 um 17:31 Uhr
Funktioniert! Vielen Dank an alle Helfer! ;)

Grüße Jürgen
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
BATCH ini Datei Datei auslesen
gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Batch & Shell
Batch: Loop zum kopieren von Dateien
gelöst Frage von BiffBaffBatch & Shell1 Kommentar

Hallo zusammen, leider bin ich nicht sehr vertraut mit dem erstellen von Batch dateien daher mag die Frage vielleicht ...

Batch & Shell
Batch Datei Kopieren
gelöst Frage von FragerBatch & Shell17 Kommentare

Hallo Zusammen, ich bekomme es nicht hin ich muss aus einem Ordner (liegt auf einem Server) eine von vielen ...

Batch & Shell
Batch - Kopieren von Dateien in Userhome
gelöst Frage von BellociBatch & Shell2 Kommentare

Hallo liebe Admins, ich würde sehr gerne einige Dateien unterschiedlichster Form (txt, html, wahrscheinlich in der Zukunft wachsend) in ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 2 TagenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 3 TagenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 3 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 4 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Netzwerkmanagment im Haus mit Switch, Panel und pfsense
gelöst Frage von CorraggiounoNetzwerkmanagement19 Kommentare

hi zusammen, wir sind gerade dabei das ganze Haus bzw. die einzelnen Zimmer mit netzwerkdosen zu versorgen. Vom Keller ...

Netzwerkgrundlagen
VLAN - Offene Fragen
Frage von KnettenbrechNetzwerkgrundlagen17 Kommentare

Hallo zusammen, ich befasse mich derzeit mit dem Thema VLAN. Hierzu habe ich schon einige Guides gelesen, einschließlich des ...

Google Android
Empfehlung: Android Ortungsapp
gelöst Frage von certifiedit.netGoogle Android13 Kommentare

Guten Morgen, grundsätzlich vorweg, ich wollte mich eben schlau machen, bzgl einer Ortungsapp, welche Androidbasiert einem anderen Androidsmartphone mitteilt, ...

Router & Routing
VPN hinter zweiter Fritzbox nutzen im Nachbarhaus
gelöst Frage von georg2204Router & Routing11 Kommentare

Hallo zusammen, ich blicke hier leider nicht mehr so ganz durch. In Haus 1 steht eine Fritzbox 7390, diese ...