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
Kommentar vom Moderator Biber am 11.12.2010 um 22:54:26 Uhr
hallo, ich versuche gerade verzweifelt ein befehl zusammenzuzimmern
Na dann verschieb ich dich mal von "Windows-oder-wie-es-heisst" nach "Batch & Shell".
Wer schickt denn immer diese Verzweifelten in unser Forum?

gelöst (CMD) verzeichnis auflösen

Mitglied: Mik.c.OS

Mik.c.OS (Level 1) - Jetzt verbinden

11.12.2010, aktualisiert 22:54 Uhr, 6824 Aufrufe, 6 Kommentare

hallo, ich versuche gerade verzweifelt ein befehl zusammenzuzimmern

es soll alle dateien & unterverzeichnisse eine ebene höhr verschieben
und dann das verzeichnis entfernen

ich habe das ganze schon mit robocopy bewerkstelligen können
robocopy "%~1" "%~1\.." /E /move

das problem:
robocopy verschiebt nicht wirklich sondern kopiert und köscht dann

da meine dateien auf dem selben volume nur eine ebene höhr versoben werden soll
und das z.t. gigabyte weise, ist es schon eine ziehmliche zeitverschwendung

es gibt ja noch den befehl move
das problem mit move ist, das es keine unterverzeichnisse verarbeitet

wenn man versuch das ganze in eine FOR-schleife zu packen gibt es schon wieder ein problem
denn wenn ich eine verzeichnisliste anvertigen will, müsste sie relative-pfade erzeugen,
da 1# das script schön dynamisch sein soll und 2# die ordnerstruktur gewart bleiben soll

ich habe noch kein weg gefunden wie ich den pfad %cd% (arbeitsverzeichnis) in %1 wegkürzen kann

also nochmal zurrück zum anfang
ich suche eine möglichkeit alle dateien/verzeichnisse mit struktur eine ebene höhr zu verschieben
welcher schneller arbeitet als robocopy (echtes moving)

[windows 7 ultimate x64]

p.s.
ich versuche es möglichst erstmal mit windows eigenen "on-board" werkzeugen zu lösen...

falls jemand ein grund von mir verlangt, dem sei gesagt:
sieht es als ein lernprozess um die grenzen von windows zu durchbrechen :P
Mitglied: bastla
11.12.2010 um 22:33 Uhr
Hallo Mik.c.OS!
das problem mit move ist, das es keine unterverzeichnisse verarbeitet
Würde ich der Gerüchteküche zuordnen ...

Soll demnach das derzeitige "Start"-Verzeichnis der Struktur aufgelassen werden? Wenn ja, würde ich das (völlig ungetestet) so versuchen:
01.
pushd %1 
02.
for /f "delims=" %%i in ('dir /a /b') do move "%%i" .. 
03.
popd 
04.
rd %1
Achtung: In einem Batch überschreibt "move" ohne Rückfrage (daher vielleicht noch ein "if not exist" ergänzen)!

Das "rd" hat übrigens absichtlich kein "/s /q" - falls trotz des "/a" beim "dir" nicht alle Dateien / Verzeichnisse "erwischt" worden sein sollten ...

Grüße
bastla
Bitte warten ..
Mitglied: Mik.c.OS
11.12.2010 um 23:34 Uhr
wow. klappt

erklär mir bitte mal das
hat das wasmit "pushd" & "popd " zu tun? warum nicht ohne?

[edit:]
hab mir mal das ganze etwas nähr angeschaut
ergebnis:
die codezeile:
for /f "delims=" %i in ('dir "%~1" /a /b') do move "%i" ..
reicht völlig aus

warum ich FOR nicht weiter verfolgt habe lag an der tatsache,
dass move allein keine "%dir%\*" unterverzeichnisse unterstützt
und dir alleine keine relativen pfadnahmen erzeugte

dabei liefert "dir /a" alles was ich gebraucht hätte...

move kann ja doch unterverzeichnisse mitkopieren, indem man das stammverzeichnis kopiert,
will man aber nur den inhalt mit wildcards * kopieren, so klappt es nicht

aber zugegeben ist move blöd programiert,
mit einer besseren wildcard unterstützung währe einiges leichter und man könnte auf for-schleifen verzichten...

ich sehe so viel design fehler in den cmd-tools von windows, einige sind z.t. antik
warum die nicht mal repariert werden... *kotz*

[p.p.s.:]
übrigens habe ich den ganzen spaß auch mit cmd/powershell umsetzen können
powershell move-item -path \"%drop%\*\" -destination \"%drop%\..\"
leider ein 'ab windows 7 only" bzw. extra nachinstallieren von powershell...
auf ' statt \" habe ich verzichtet, weil es probleme mit dateinamen verusacht, welche ' im dateinamen verwenden
ich frage mich ob das unter linux auch so ist, müsste mal einer testen
sonderzeichen in dateinamen ist immerwieder lustig :P
Bitte warten ..
Mitglied: bastla
11.12.2010 um 23:41 Uhr
Hallo Mik.c.OS!
hat das wasmit "pushd" & "popd " zu tun?
Das Wechseln in den Zielordner macht's nur einfacher - als Ziel des "move" genügt dann "..", ein relativer (bzw der übergeordnete) Pfad muss dann gar nicht ermittelt werden ...

Grüße
bastla
Bitte warten ..
Mitglied: Mik.c.OS
12.12.2010 um 00:04 Uhr
ich habe mein vorigen beitrag bearbeitet

"pushd" & "popd " werden nicht zwingend benötigt
in der codezeile hab ich den löschbefel mal weggelassen...
Bitte warten ..
Mitglied: bastla
12.12.2010 um 00:25 Uhr
Hallo Mik.c.OS!
for /f "delims=" %i in ('dir "%~1" /a /b') do move "%i" ..
reicht völlig aus
Mit nur einem "%"-Zeichen für die Schleifenvariable in einem Batch schon mal gar nicht (und wenn es kein Batch ist, ist "%~1" leer, womit wir wieder bei meinem Ansatz oben wären), und ansonsten auch nur, wenn Du aus dem entsprechenden Verzeichnis startest (dann wiederum ist "%~1" auch unnötig und es braucht natürlich auch kein "pushd", um in dieses Verzeichnis zu wechseln) ...

Wenn der Batch tatsächlich allgemein verwendbar (und von einem beliebigen Pfad aus startbar) sein soll, müsstest Du komplette Pfade (auch für das Ziel, da sich ".." ohne Pfad davor auf das Verzeichnis, von dem aus gestartet wurde, bezieht) erzeugen, da ja "dir /b" nur Datei-/Verzeichnisnamen, aber (ohne "/s", und das wäre hier kontraproduktiv) keine vollständigen Pfade liefert:
for /f "delims=" %%i in ('dir "%~1" /a /b') do move "%~1\%%i" "%~1\.."
Grüße
bastla
Bitte warten ..
Mitglied: Mik.c.OS
12.12.2010 um 01:19 Uhr
hast schon recht, ich hätt das doppelte "%"-zeichen für diesen beitrag nicht wegkürzen dürfen.
das mit den pfaden ist gut zu wissen. thx

übrigens wenn man den ganzen spaß in den explorer inegrieren will,
dann kommt sowas dabei raus
cmd /c if 0==0 (for /f "delims=" %%i in ('dir "%V" /a /b') do move "%%i" ..) & cd .. & rd /s /q "%V" & explorer "%V\.."
%V deshalb weil es dieser regestryschlüssel ist (funktioniert glabe ich erst ab windows 7)
HKEY_CLASSES_ROOT\Directory\Background\shell\zz.SuspendDir\command

if 0==0 brauchte ich um den for befehl zu seperieren,
da der for befehl sonnst die "&"-kettenbefehle mit ausfürt
da der cmd prozess sich auch noch selbst im weg steht muss man mit cd .. das verzeichnis verlassen

mit einer verlinkten script.cmd währe es vielleicht einfacher gewesen, aber ich wollte halt ein "single"-befehl in der regestry... :P
ziel erreicht XD
Bitte warten ..
Ähnliche Inhalte
Windows 7

Schtasks via cmd erstellen - Wie Start-Verzeichnis definieren?

gelöst Frage von gwitzigWindows 74 Kommentare

Habe mir ein Script zum Aufsetzen der Scheduled Tasks erstellt: SCHTASKS /Create /SC TÄGLICH /TN "Backup Täglich" /TR C:\Temp\_Script\Backup_Files-Test.bat ...

Linux

Befehle zum auflösen von Domains

gelöst Frage von winlinLinux14 Kommentare

Hallo Leute Habe eine Gesamtsituation mit mehreren Domains. Es gibt verschiedene DNS Server welche in unterschiedlichen netzwerkzonen liegen. Nun ...

Mac OS X

Host auflösen sehr langsam bei MAC

gelöst Frage von ModdryMac OS X9 Kommentare

Guten Abend! :) Ich habe hier ein MBP (Mid 2012) mit Google Chrome. Als DNS Server benutze ich meinen ...

Batch & Shell

Domain auflösen per PowerShell

Frage von WWW-KRBatch & Shell5 Kommentare

Hallo, ich möchte die IP-Adresse einer Domain per PowerShell abfragen. Der Befehl ist mir soweit klar und stellt keine ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...

Windows Server
NTFS Berechtigungen Ordnerstruktur
Frage von hukahu23489Windows Server11 Kommentare

Hallo, ich bin seit kurzem in einer neuen IT-Abteilung und bin über das Berechtigungskonzept des Unternehmens sehr schockiert. Ich ...