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

Frage Entwicklung Batch & Shell

Mitglied: Mik.c.OS

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

11.12.2010, aktualisiert 22:54 Uhr, 6781 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
Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 2 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit7 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...