AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Pfadinhalte eine Ebene aufwärts kopieren

Pfadinhalte eine Ebene aufwärts kopieren

Ein Thema von zeras · begonnen am 18. Sep 2018 · letzter Beitrag vom 20. Sep 2018
Antwort Antwort
Seite 1 von 4  1 23     Letzte » 
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#1

Pfadinhalte eine Ebene aufwärts kopieren

  Alt 18. Sep 2018, 05:41
Ich habe beispielsweise Dateien im Pfad

c:\temp\alt und möchte diese eine Ebene höher (In dem Falle nach c:\temp\) verschieben.

Mit

Delphi-Quellcode:
fDir := 'C:\temp\alt';
fDirDst := fDir + '..\..';
TDirectory.Move(fDir, fDirDst)
bekomme ich das irgendwie nicht hin.

Es kommt immer die Meldung, dass das Verzeichnis schon existiert.
Da aber die Ursprungspfade nicht immer gleich sind, müsste alles relativ gehalten sein.

Was mache ich falsch?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
648 Beiträge
 
Delphi 12 Athens
 
#2

AW: Pfadinhalte eine Ebene aufwärts kopieren

  Alt 18. Sep 2018, 07:51
Also zum einen fehlt da bei fDirDst := fDir + '..\..'; doch zumindest mal ein Backslash, denn als Ergebnis bekämst du ja so ein
c:\temp\alt..\..

Außerdem ist der Pfad direkt über dem c:\temp\alt ja ".." und nicht "..\.." - mit letzterem landest du schon bei c:\.

Das ist mir jetzt auf die Schnelle aufgefallen...
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#3

AW: Pfadinhalte eine Ebene aufwärts kopieren

  Alt 18. Sep 2018, 07:56
Generell versuchst du das Verzeichnis alt im Pfad c:\temp nach c:\ zu verschieben. Der neue Pfad würde also c:\alt sein.

Ein TDirectory.Move verschiebt das komplette Verzeichnis mit Inhalt. So wie du es beschrieben hast möchtest du aber nur den Inhalt verschieben.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.760 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Pfadinhalte eine Ebene aufwärts kopieren

  Alt 18. Sep 2018, 09:22
Hast Du denn den Befehl mal händisch ausprobiert? In der Eingabeaufforderung? Macht man das heute nicht mehr?
Der Befehl dazu wäre:
Code:
move C:\temp\alt ..
Erklärung:
.. ist das übergeordnete Verzeichnis (der Vollständigkeit halber: . ist das aktuelle).

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#5

AW: Pfadinhalte eine Ebene aufwärts kopieren

  Alt 18. Sep 2018, 09:28
@Sherlock

Nein, er macht aktuell
Code:
move c:\temp\alt c:\temp\alt..\..
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.760 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Pfadinhalte eine Ebene aufwärts kopieren

  Alt 18. Sep 2018, 09:31
Klar. Aber er will ja was ich schrieb. Meine Frage ist halt darum auch gewesen, ob es ausprobiert wurde.

Vielleicht hätte ich an geeigneter Stelle noch das Wörtchen "korrekt" (mit passender Flexion) einflechten sollen...

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#7

AW: Pfadinhalte eine Ebene aufwärts kopieren

  Alt 18. Sep 2018, 09:40
Klar. Aber er will ja was ich schrieb. Meine Frage ist halt darum auch gewesen, ob es ausprobiert wurde.
Nun das was du geschrieben hast ist auch nicht so das was er haben will:

Bei
Code:
C:\Foo\Bar> move C:\temp\alt ..
wird der Order C:\temp\alt nach C:\Foo\alt verschoben.

So wie ich den TE verstanden haben möchte der von da
Code:
C:\
+- temp\
   +- alt\
      +- foo.txt
nach da
Code:
C:\
+- temp\
   +- foo.txt
Ich habe beispielsweise Dateien im Pfad

c:\temp\alt und möchte diese eine Ebene höher (In dem Falle nach c:\temp\) verschieben.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.760 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Pfadinhalte eine Ebene aufwärts kopieren

  Alt 18. Sep 2018, 11:29
Kann ich nicht nachvollziehen. Unter Windows 10 verhält es sich genau so wie ich es schrieb.
move c:\temp\irgendwas ..
verschiebt den Ordner irgendwas eine Ebene höher, so daß man dann ein c:\irgendwas bekommt.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Pfadinhalte eine Ebene aufwärts kopieren

  Alt 18. Sep 2018, 11:35
Wenn ich es richtig verstehe, soll nicht der Ordner an sich, sondern dessen Inhalt verschoben werden, so dass dieser anschließend auf derselben Ebene wie der Ursprungsordner liegt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#10

AW: Pfadinhalte eine Ebene aufwärts kopieren

  Alt 18. Sep 2018, 11:36
@Sherlock

Dann hast du ein anderes Windows als ich.

Folgende Ausgangssituation:
Code:
c:\
+- temp\
|  +- alt\
|     +- foo.txt
+- foo\
   +- bar\ <- aktuelles Verzeichnis
Ich führe aus
Code:
C:\foo\bar>move c:\temp\alt ..
        1 Verzeichnis(se) wurde(n) verschoben.
und erhalte das hier
Code:
c:\
+- temp\
+- foo\
   +- alt\
   |  +- foo.txt
   +- bar\ <- aktuelles Verzeichnis
Also ich habe ein Windows 10 Pro Version 1803 Build 17134.285

Meinst du mein Windows ist kaputt? Sollte ich das neu installieren? Oder ist sogar die Hardware defekt?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz