move verschiebt falsche Dateien
move 1012*.dft 1012 Verschiebt nicht nur Dateien die mit 1012 beginnen sondern auch einige aus dem bereich 1020 bis 1026
Hi,
Hab da n zimlich seltsames Problem. Also jedenfalls mir is sowas noch net passiert.
Kurz zur vorgeschichte. Wir haben nen Server auf da liegen in nem Ordner an die 64000 .dft Dateien. Unterteilt werden die nach den ersten 4 Stellen. Die Reichen etwa von 1000 bis 1600
Nach den 4 Stellen kommen noch zwischen 4 und 6 andere Zahlen und Eventuell noch _A oder sonstige zusätze+ Endung .dft natürlich.
also z.b. 100000000.dft (fortlaufend).
Jetzt sollen zwecks Ordnung die Dateien in Ordner gepackt werden die entsprechen der ersten 4 stellen heißen:
Also obige Beispielzahl in den ordner 1000
100100000.dft in den ordner 1001 usw.
Wollte das Gott sei dank erst mal in nem Testordner laufen lassen *is ja logisch* und hab mal des hier gebastelt.
@echo off
echo Start:
set start=1000
set /p start=
echo Ende:
set ende=1050
set /p ende=
cls
echo Verschiebe Dateien von %start% bis %ende%.
echo Taste druecken um zu starten.
:anfang
cls
echo Verschiebe Dateien von %start% bis %ende%.
mkdir %start%
cscript sleep05.vbs > Nul
echo Verschiebe Bereich %start% >>log.txt
move %start%* %start% >>log.txt
echo (Verschoben)
echo warte.....
cscript sleep5.vbs > Nul
set /a start=start+1
if %ende% GTR %start% goto anfang
pause
Man gibt also den Bereich an welcher schon voreingestellt ist fals man was leer lässt.
Dann geht der zähler halt alle Bereiche durch erzeugt nen Ordner und Packt da mit:
move %start%* %start% >>log.txt
Alles rein. So die graue Theorie. Klappt net, mist.
Jetzt hats mir neben den 1012 er Dateien auch noch folgende Reinkopiert.
1020100040.dft, 1020100041.dft, 1020100042.dft, 1021100040.dft, ..., 1029100041.dft
Hab bis jetzt noch keinen Zusammenhang mit den Falsch kopierten und der richtigen zahl finden können.
Des Passiert bei mehreren Ordnern. Allerdings auch Eher zufällig.
Vieleicht weiß ja jemand von euch wie man des flicken könnte oder woran des liegt. Letzeres währ mir natürlich lieber. Will ja was lernen ^^.
mfg
Tobi
ps.
Sollte bereits ein Post mit dem Problem irgendwo sein Reicht mir natürlich ein Link dorthin.
Hab zwar gesucht aber nix gefunden des mir geholfen hätte.
Batch-Datei schreiben hat auch nix gebracht.
Hi,
Hab da n zimlich seltsames Problem. Also jedenfalls mir is sowas noch net passiert.
Kurz zur vorgeschichte. Wir haben nen Server auf da liegen in nem Ordner an die 64000 .dft Dateien. Unterteilt werden die nach den ersten 4 Stellen. Die Reichen etwa von 1000 bis 1600
Nach den 4 Stellen kommen noch zwischen 4 und 6 andere Zahlen und Eventuell noch _A oder sonstige zusätze+ Endung .dft natürlich.
also z.b. 100000000.dft (fortlaufend).
Jetzt sollen zwecks Ordnung die Dateien in Ordner gepackt werden die entsprechen der ersten 4 stellen heißen:
Also obige Beispielzahl in den ordner 1000
100100000.dft in den ordner 1001 usw.
Wollte das Gott sei dank erst mal in nem Testordner laufen lassen *is ja logisch* und hab mal des hier gebastelt.
@echo off
echo Start:
set start=1000
set /p start=
echo Ende:
set ende=1050
set /p ende=
cls
echo Verschiebe Dateien von %start% bis %ende%.
echo Taste druecken um zu starten.
:anfang
cls
echo Verschiebe Dateien von %start% bis %ende%.
mkdir %start%
cscript sleep05.vbs > Nul
echo Verschiebe Bereich %start% >>log.txt
move %start%* %start% >>log.txt
echo (Verschoben)
echo warte.....
cscript sleep5.vbs > Nul
set /a start=start+1
if %ende% GTR %start% goto anfang
pause
Man gibt also den Bereich an welcher schon voreingestellt ist fals man was leer lässt.
Dann geht der zähler halt alle Bereiche durch erzeugt nen Ordner und Packt da mit:
move %start%* %start% >>log.txt
Alles rein. So die graue Theorie. Klappt net, mist.
Jetzt hats mir neben den 1012 er Dateien auch noch folgende Reinkopiert.
1020100040.dft, 1020100041.dft, 1020100042.dft, 1021100040.dft, ..., 1029100041.dft
Hab bis jetzt noch keinen Zusammenhang mit den Falsch kopierten und der richtigen zahl finden können.
Des Passiert bei mehreren Ordnern. Allerdings auch Eher zufällig.
Vieleicht weiß ja jemand von euch wie man des flicken könnte oder woran des liegt. Letzeres währ mir natürlich lieber. Will ja was lernen ^^.
mfg
Tobi
ps.
Sollte bereits ein Post mit dem Problem irgendwo sein Reicht mir natürlich ein Link dorthin.
Hab zwar gesucht aber nix gefunden des mir geholfen hätte.
Batch-Datei schreiben hat auch nix gebracht.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 40830
Url: https://administrator.de/forum/move-verschiebt-falsche-dateien-40830.html
Ausgedruckt am: 23.12.2024 um 04:12 Uhr
3 Kommentare
Neuester Kommentar
Moin TobiasBessenreither,
willkommen im Forum.
Ich habe das schon mal irgendwo aus den Augenwinkeln mitbekommen, dass sich der Move-Befehl bei großen Datenmengen ein bisschen zu verhaspeln scheint.
Sieht nach einem ganz normalen M$-Bug aus - ich denke mal, M$ hat ja aufgrund der treuen und kritiklosen Kundschaft wenig Leidensdruck, eine QS-Abteilung aufzubauen.
Ich würde zumindest nicht versuchen, in der Erscheinungform dieses Bugs eine Regelmäßigkeit oder Systematik finden zu wollen - finde lieber einen Workaround.
Ich würde von der Strategie her ähnlich vorgehen wie hier beschriebenUnterordner auf Basis eines Teils des Dateinamens erstellen - Dateien da rein verschieben .
Sprich: die Datenmenge "portionieren".
Beispiel: (durchaus in einer FOR..IN..DO..-Anweisung) die Prüfung:
... if exist 1012*.* (
if not exist %zielVerz%\1012 md %zielVerz%\1012
for %%i in (1012*.*) do move %%i %zielVerz%\1012\
)
und dort außen herum eine Schleife
...das wäre das Rohgerüst.
Erscheint mir Erfolg versprechender als dem Move-Befehl ein paar 10000 Dateien per Wildcards zu vergeben.
HTH Biber
willkommen im Forum.
Ich habe das schon mal irgendwo aus den Augenwinkeln mitbekommen, dass sich der Move-Befehl bei großen Datenmengen ein bisschen zu verhaspeln scheint.
Sieht nach einem ganz normalen M$-Bug aus - ich denke mal, M$ hat ja aufgrund der treuen und kritiklosen Kundschaft wenig Leidensdruck, eine QS-Abteilung aufzubauen.
Ich würde zumindest nicht versuchen, in der Erscheinungform dieses Bugs eine Regelmäßigkeit oder Systematik finden zu wollen - finde lieber einen Workaround.
Ich würde von der Strategie her ähnlich vorgehen wie hier beschriebenUnterordner auf Basis eines Teils des Dateinamens erstellen - Dateien da rein verschieben .
Sprich: die Datenmenge "portionieren".
Beispiel: (durchaus in einer FOR..IN..DO..-Anweisung) die Prüfung:
... if exist 1012*.* (
if not exist %zielVerz%\1012 md %zielVerz%\1012
for %%i in (1012*.*) do move %%i %zielVerz%\1012\
)
und dort außen herum eine Schleife
...
for /L %%a in (1000,1,1600) do (
if exist %%a*.* (
if not exist %zielVerz%\%%a md %zielVerz%\%%a
for %%i in (%%a*.*) do move %%i %zielVerz%\%%a\
))
Erscheint mir Erfolg versprechender als dem Move-Befehl ein paar 10000 Dateien per Wildcards zu vergeben.
HTH Biber