![]() |
AW: Pfadinhalte eine Ebene aufwärts kopieren
Ist jetzt nicht böse gemeint, aber warum kommt das erst jetzt?
Sherlock |
AW: Pfadinhalte eine Ebene aufwärts kopieren
Zitat:
Code:
Deswegen bist du darauf nicht gekommen, weil das mit dem
C:\temp\alt\ein\alt\dir\datei.txt
Delphi-Quellcode:
sehr fehleranfällig ist
AnsiReplaceText
|
AW: Pfadinhalte eine Ebene aufwärts kopieren
Zitat:
Aber Dein Beispiel entspricht nicht der Aufgabenstellung. Es soll nur der letzte Teil aus dem Pfad entfernt werden. ;-) Lieber eher sowas?
Delphi-Quellcode:
(ungetestet hingedaddelt)
function GetNewFileName(sFilename : String) : String;
begin Result := ExtractFilePath(sFilename); Result := ExcludeTrailingPathDelimiter(Result); Result := ReverseString(Result); Result := Copy(Result,1,Pos(SysUtils.PathDelim,Result) - 1); Result := ReverseString(Result); Result := IncludeTrailingPathDelimiter(Result); Result := Result + ExtractFilename(sFilename); end; ... if not SysUtils.RenameFile(sFilename,GetNewFileName(sFilename)) then begin FehlermeldungMachen; end; |
AW: Pfadinhalte eine Ebene aufwärts kopieren
Ich hätte jetzt eher an so etwas gedacht
Delphi-Quellcode:
Wenn man mit den Pfadangeben herumspielen möchte, dann sollte man auch die entsprechenden Funktionen zum Herumspielen verwenden.
program Project1;
{$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, System.IOUtils; procedure MoveDirectoryContentOneUp( const ASource: string ); var srcPath, dstPath: string; srcEntry, dstEntry: string; begin srcPath := IncludeTrailingPathDelimiter( TPath.GetFullPath( ASource ) ); dstPath := IncludeTrailingPathDelimiter( ExpandFileName( TPath.Combine( srcPath, '..' ) ) ); for srcEntry in TDirectory.GetDirectories( srcPath ) do begin dstEntry := TPath.Combine( dstPath, ExtractRelativePath( srcPath, srcEntry ) ); TDirectory.Move( srcEntry, dstEntry ); end; for srcEntry in TDirectory.GetFiles( srcPath ) do begin dstEntry := TPath.Combine( dstPath, ExtractRelativePath( srcPath, srcEntry ) ); TFile.Move( srcEntry, dstEntry ); end; end; begin try MoveDirectoryContentOneUp( 'C:\tmp\alt' ); except on E: Exception do Writeln( E.ClassName, ': ', E.Message ); end; end. |
AW: Pfadinhalte eine Ebene aufwärts kopieren
Zitat:
Gruß K-H |
AW: Pfadinhalte eine Ebene aufwärts kopieren
@Schokohase:
Zitat:
Delphi CE ist mir noch zu unübersichtlich. |
AW: Pfadinhalte eine Ebene aufwärts kopieren
Zitat:
|
AW: Pfadinhalte eine Ebene aufwärts kopieren
Funktioniert mein Vorschlag für Dich nicht? Der bewegt Inhalt plus Unterordner in ein neues Root-Dir.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz