frad
Goto Top

Per Batch alle Bilder auf USB Stick kopieren

Wie kann ich per Batch alle Bilder auf meinem PC (Windows 7 oder XP) per Knopfdruck auf meinen USB Stick kopieren?

Hallo,

wie kann ich per Batch alle Bilder auf meinem PC (Windows 7 oder XP) per Knopfdruck auf meinen USB Stick kopieren?

Das Batchfile soll im Prinzip alle Verzeichnisse nach Bildern (jpg, bmp) scannen und diese auf meinen USB Stick in das Verzeichnis BACKUP kopieren inkl. der originalen Verzeichnisstruktur von der Festplatte.

Das Verzeichnis C:\Windows soll dabei nicht berücksichtigt werden.

Wie könnte man dies realisieren?

Viele Grüße

Content-ID: 139947

Url: https://administrator.de/contentid/139947

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

Xpl0iT
Xpl0iT 06.04.2010 um 15:36:40 Uhr
Goto Top
Moin face-smile

Lass dir doch einfach in der Windows Suche alle Bilder anzeigen.
Dann einfach STRG+A->Rechtsklick->Senden an-> USB Laufwerk

gruß
Xpl0iT
JensAlbrecht
JensAlbrecht 06.04.2010 um 15:44:09 Uhr
Goto Top
Hmmm - macht es Sinn wirklich alle Bilddateien auf einen USB Stick zu kopieren ?
Alleine im Windows Verzeichnis findest Du da so einige.

Aber wenn du es im Batch machen willst kannst Du XCopy benutzen...

cd \
xcopy c:\*.jpg z:\ /s

wobei Z Dein USB Stick sein könnte

Schönen Gruß

Jens
FRAD
FRAD 06.04.2010 um 15:46:46 Uhr
Goto Top
Ich gebe dir Recht, eine Suche und senden an ist am besten.

Ich möchte jedoch schnell per Knopfdruck mittels Batch Bilder sichern. Im Batch soll mann auch definieren können, welche Verzeichnis ausgeschlossen werden sollen.

Mittels diesem Aufruf werden nur 1/4 meiner Bilder kopiert...?

for /f %%e in ('dir /s /b C:\*.jpg') do copy "%%e" C:\temp\pics>nul && echo %date% "%%e" kopiert >> C:\temp\mylog.log

Gibt es da eine Limitierung?
bastla
bastla 06.04.2010 um 15:47:58 Uhr
Goto Top
@Xpl0iT
Gute Idee - wenn da nicht die Sache mit der "originalen Verzeichnisstruktur" wäre ...

Als Alternative:
Eine Datei "C:\Exclude.txt" mit dem Inhalt
C:\Windows
erstellen und dann pro Dateityp einen Befehl der Art
xcopy /dehkry /exclude:C:\Exclude.txt C:\*.bmp G:\
ausführen - wenn's öfter benötigt wird, das Ganze in einem Batch in eine Schleife verpacken:
@echo off & setlocal
>"C:\Exclude.txt" echo C:\Windows  

for %%i in (bmp jpg png) do xcopy /dehkry /exclude:C:\Exclude.txt C:\*.%%i G:\
Beides ungetestet und unter der Voraussetzung, dass der Stick den Laufwerksbuchstaben G: hat ...

Grüße
bastla

[Edit] Aber seinerzeit, da war ich auch noch schneller ... face-wink [/Edit]

[Edit2] Ein "/y" täte dem "xcopy" auch noch gut - ergänze ich mal ... [/Edit2]
Dani
Dani 06.04.2010 um 15:51:41 Uhr
Goto Top
@Jens
Das Verzeichnis C:\Windows soll dabei nicht berücksichtigt werden.
Sagt doch schon alles... face-smile

@FRAD
Du könntest durch eine FOR-Schleife die Ausgabe von "dir *jpg /b /s auswerten. Somit hast du schon mal alle Bilder die es auf der Partition gibt. Danach nimmst du den Wert her und schneidest den Dateinamen ab. Somit hast du den Pfad. Mit "mkdir %pfadvariable" legst du den Verzeichnispfad an und kopierst am Ende die Datei dorthin. Wie du allerdings das Systemverzeichnis ausschließen kannst - weiß ich ehrlich gesagt nicht.


Grüße,
Dani

P.S. bastla hat dazu gleich ein Praxisbeispiel kurz geschrieben. ^^
Biber
Biber 06.04.2010 um 15:52:02 Uhr
Goto Top
[OT]
Zitat von @bastla:
@echo off & setlocla
Wozu "setlocla"? Das Skript verwendet doch gar keine locla-Variablen? face-wink

....dieser gefühlte Montach zieht sich aber heute.....

Grüße
Biber
[Edit] In der Fastenzeit warst du wieder kein Faster, aber jetzt bist du fast noch faster...[/Edit]
[/OT]
JensAlbrecht
JensAlbrecht 06.04.2010 um 15:56:33 Uhr
Goto Top
Ups überlesen Aber bastla hat sowieso die besser Batch Variante beschrieben ;) Ist schon zu lange her

Grüß Jens
FRAD
FRAD 06.04.2010 um 15:57:11 Uhr
Goto Top
Hi,

egal was ich mit xcopy versuche... Immer diese Meldung:

C:\temp>xcopy /dehkr C:\*.jpg c:\temp\pics\
Zyklische Kopie nicht möglich
0 Datei(en) kopiert

???
bastla
bastla 06.04.2010 um 15:58:58 Uhr
Goto Top
[OT]
@Biber
Na ja, zumindest hast Du das "F"-Wort ohne "ss" geschrieben - was kann ich mehr von einem solchen Tag verlangen ... face-wink

Grüße
bastla
[/OT]
bastla
bastla 06.04.2010 um 16:02:55 Uhr
Goto Top
Hallo FRAD!

Wenn Du von C: nach C: kopierst (bzw etwas genauer formuliert: Wenn der Zielpfad unterhalb des Quellpfades liegt), nicht weiter verwunderlich ...

Grüße
bastla
Biber
Biber 06.04.2010 um 16:23:53 Uhr
Goto Top
Moin FRAD,

Zitat von @FRAD:
egal was ich mit xcopy versuche... Immer diese Meldung:

C:\temp>xcopy /dehkr C:\*.jpg c:\temp\pics\
Zyklische Kopie nicht möglich
0 Datei(en) kopiert
Na ja, ursprünglich hieß diese Meldung bis ca Win98:
"Sie versuchen gerade, sich selbst ins Knie zu schiessen. Sind Sie sicher?"

Der Meldungstext wurde aus Marketinggründen geändert.
Aber du kannst darauf wetten, die Redmonder PraktikantInnen haben sich auch beim Implementieren dieser pseudoseriösen "Zyklische Kopie nicht möglich"-Meldung garantiert total eingenässt.

Hintergrund hat bastla bereits erklärt.

@bastla
Na ja, zumindest hast Du das "F"-Wort ohne "ss" geschrieben...
Aber in dem "F"-Wort ist doch noch nicht mal ein "s".... *grybel*.... *rotwerd*

Grüße
Biber
bastla
bastla 06.04.2010 um 16:29:52 Uhr
Goto Top
[OT]
@Biber
*rotwerd*
Sehen wir das dann demnächst auch an Deinem Profilbildchen? face-wink

Grüße
bastla
[/OT]
FRAD
FRAD 13.01.2011 um 13:43:55 Uhr
Goto Top
Hallo, wie kann ich eigentlich verhindern, das eine Ausgabe erfolgt bei diesem Befehl?

for %%i in (bmp jpg png) do xcopy /dehkry /exclude:%LW%\_Exclude.txt C:\*.%%i %LW%\_backupfolder\

Ich möchte eigentlich nur die CMD-Box sehen mit dem Text "Bitte warten..." wenn die Batchdatei abgearbeitet wurde, dann soll die CMD Box sich autoamtisch schließen - was diese ja bereits schon macht...
FRAD
FRAD 13.01.2011 um 13:56:29 Uhr
Goto Top
hat sich gelöst ...

Einfach 1>nul 2>nul anhängen und schon geht es.... ;)
FRAD
FRAD 14.01.2011 um 17:03:00 Uhr
Goto Top
Eine Sache noch...

unter Windows 7 funktioniert dieser Batch leider nicht:


@echo off & setlocal
set LW=
for /f %%a in ('fsutil fsinfo drives^|find ":"') do for /f "delims=\" %%i in ('fsutil fsinfo drivetype %%a^|find "Eingebaut"') do if exist %%i\kennung.dat set LW=%%i
if not defined LW echo Laufwerk nicht erkannt! & goto :eof
echo Laufwerk gefunden: %LW%

Ich verstehe nicht warum...

Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Windows\system32>set LW=

C:\Windows\system32>for /f %%a in ('fsutil fsinfo drives^|find ":"') do for /f "
delims=\" %%i in ('fsutil fsinfo drivetype %%a^|find "Eingebaut"') do if exist %
%i\_kennung.dat set LW=%%i
"%%a" kann syntaktisch an dieser Stelle nicht verarbeitet werden.

C:\Windows\system32>
bastla
bastla 14.01.2011, aktualisiert am 18.10.2012 um 18:45:30 Uhr
Goto Top
FRAD
FRAD 14.01.2011 um 17:39:56 Uhr
Goto Top
Klasse danke...

gibt es bei attrib auch eine Neuerung bei Windows 7?

Wenn ich alle Ordner auf meiner USB Festplatte das Attribut "Schreibgeschützt" entfernen möchte funktioniert dieser Befehl nicht - wird zwar ausgeführt aber ohne Wirkung...

attrib -r -a F:\_backupfolder /s /d