WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 23.01.2008, 13:46   #1
justsmile
Senior Member
 
Registriert seit: 15.12.2003
Beiträge: 150


Standard Dateien per Script verschieben

Hallo!

Ich suche eine Möglichkeit, Dateien (und Unterverzeichnisse) mit einem Windows-Script zu verschieben.
Die endgültige Funktion soll genauso sein wie bei mv unter linux

Bin derzeit am Probieren mit Robocopy, leider funktioniert das aber nicht ganz...

robocopy /MOVE C:\test D:\test *.*

Resultat
+ Dateien werden verschoben
ABER
- C:\test wird gelöscht
- Dateien in D:\test werden überschrieben falls vorhanden
- es werden nur Dateien aus C:\test verschoben,
nicht aber z.B. aus C:\test\test\...
- Ordner werden nicht verschoben

Kann mir jemand weiterhelfen?
justsmile ist offline   Mit Zitat antworten
Alt 23.01.2008, 14:10   #2
void
Hero
 
Benutzerbild von void
 
Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811


Standard

??
hilfreich wären die gewünschten funktionen von mv unter linux genau zu beschreiben.

es gibt unter windows den befehl "move"! - warum verwendest du ihn nicht?

p.s.: bei einem verschieben ist das quellverzeichnis natürlich nachher nicht mehr vorhanden, also "gelöscht"
____________________________________
nobody is perfect
void ist offline   Mit Zitat antworten
Alt 23.01.2008, 17:56   #3
justsmile
Senior Member
 
Registriert seit: 15.12.2003
Beiträge: 150


Standard

mv (linux)
verschiebt Dateien und (Unter)verzeichnisse

move (win)
verschiebt nur Dateien

--

Ziele
es soll der Inhalt des Quellverzeichnisses (mit Unterverzeichnissen) verschoben werden und nicht das Quellverzeichnis mit Inhalt
justsmile ist offline   Mit Zitat antworten
Alt 23.01.2008, 21:31   #4
void
Hero
 
Benutzerbild von void
 
Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811


Standard

Zitat:
Original geschrieben von justsmile
move (win)
verschiebt nur Dateien
das ist einmal def. falsch

also mir fällt es schwer, den unterschied zwischen mv und move zu erkennen... mv verschiebt genauso das ganze quellverzeichnis.
lediglich mv verzeichnis/* und move verzeichnis\* verhalten sich anders.

btw: ist das ein großes problem, den "inhalt" und nicht gleich das ganze "verzeichnis" zu verschieben?

eine lösung wäre zuerst kopieren, dann alte dateien löschen - ist aber wahrscheinlich keine zufriedenstellende lösung

Zitat:
Original geschrieben von Wikipedia, the free encyclopedia
/MOV
Moves the files, removing them from the source folder. /MOVE removes the source folder as well if empty.
das verhalten (löschen vom quellverzeichnis) ist also erwünscht - am einfachsten nach dem verschieben wieder anlegen

Zitat:
Original geschrieben von Wikipedia, the free encyclopedia
/S
Copies subdirectories unless they're empty (like XCOPY).
/E
Copies subdirectories, even empty ones (like XCOPY).
...löst das andere problem

wäre noch auszuprobieren ob jetzt dateien in unterverzeichnissen korrekt verschoben werden...

das mit dem überschreiben wird sich mit robocopy nicht lösen lassen

um welche art von script handelt es sich eigentlich? powershell eine option?
____________________________________
nobody is perfect
void ist offline   Mit Zitat antworten
Alt 24.01.2008, 09:02   #5
myope
Senior Member
 
Registriert seit: 15.09.1999
Alter: 46
Beiträge: 161


myope eine Nachricht über ICQ schicken myope eine Nachricht über Skype™ schicken
Standard

Zitat:
Original geschrieben von void

eine lösung wäre zuerst kopieren, dann alte dateien löschen - ist aber wahrscheinlich keine zufriedenstellende lösung
warum ist das keine zufriedenstellende lösung?
es ist ein script.
ob da nun 1 zeile drinnen steht oder 2

xcopy ...
rd /S /Q ....
____________________________________
101010




myope ist offline   Mit Zitat antworten
Alt 24.01.2008, 10:24   #6
justsmile
Senior Member
 
Registriert seit: 15.12.2003
Beiträge: 150


Standard

mit xcopy und anschließendem rmdir bzw. del habe ich es auch schon probiert

klar, man kann das quellverzeichnis auch jedes Mal wieder neu anlegen...

Fall 1)
alle Dateien wurden kopiert, weil in Zielverzeichnis noch nicht vorhanden
-> PERFEKT

Fall 2)
es wurden nicht alle Dateien kopiert, weil z.B. 1 Datei nicht überschrieben wurde od. kein Speicherplatz auf Ziellaufwerk
-> PROBLEM
weil restliche Quelldateien trotzdem gelöscht werden
justsmile ist offline   Mit Zitat antworten
Alt 24.01.2008, 12:07   #7
myope
Senior Member
 
Registriert seit: 15.09.1999
Alter: 46
Beiträge: 161


myope eine Nachricht über ICQ schicken myope eine Nachricht über Skype™ schicken
Standard

eine idee:

du kannst ja das ergebnis von xcopy umleiten in ein file >>

dann dieses mit findstr auswerten.
wenn ok lösche alles
ansonsten nicht.

es gibt ja auch noch errorlevels!

xcopy c:\Quellverzeichnis\zukopierendeDatei.datei c:\Zielverzeichnis /C /D /E /H /R /Y /F 1>>%LOG_FILE_NAME% 2>>&1
echo.
if errorlevel 4 echo 4 ---richtig doller Fehler... zu wenig Hauptspeicher zum Kopieren
if errorlevel 3 echo 3
if errorlevel 2 echo 2 ---Problem vor dem Bildschirm...Syntaxfehler
if errorlevel 1 echo 1 && goto irgendeinFehler
if errorlevel 0 echo 0 alles Prima
goto Normalweiter

:irgendeinFehler
@Echo Xcopy ging in die Grütze...ich hör auf
goto :eof

:NormalWeiter
@echo ...habs geschafft, soll ich noch mal?
pause
____________________________________
101010




myope ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:32 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag