RenameFile auf ntfs

Für allgemeine Fragen zur Programmierung mit PureBasic.
stevie1401
Beiträge: 700
Registriert: 19.10.2014 15:51
Kontaktdaten:

RenameFile auf ntfs

Beitrag von stevie1401 »

i=RenameFile(datei1,datei2) funktioniert bei NTFS NICHT, wenn es datei2 schon gibt. Bei ext4 funktioniert es.
Es liegt NICHT an der Windows-Version. Auch die Linux-Version kann Rename nicht ausführen, wenn die datei auf einer NTFS-Partition liegt.
War das schon immer so?
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
jacdelad
Beiträge: 404
Registriert: 03.02.2021 13:39
Wohnort: Riesa
Kontaktdaten:

Re: RenameFile auf ntfs

Beitrag von jacdelad »

Blöde Frage, aber wenn die Datei schon existiert, dann kann es ja nicht funktionieren? Ich hab jetzt eher Bedenken, dass es laut deiner Aussage bei ext4 funktioniert. Was passiert bei ext4, wird die Originaldatei überschrieben?
Guten Morgen, das ist ein schöner Tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Re: RenameFile auf ntfs

Beitrag von Macros »

Genau das passiert. RenameFile ist leicht seltsam benannt.
Eigentlich ist es ein MoveFile. Man kann ja auch zwischen Verzeichnissen verschieben.

Die Verantwortung zu prüfen ob die Datei schon existiert liegt beim Programmierer.
Man könnte es allerdings auch durchaus auf ein default nicht überschreiben stellen und ein #PB_Force Flag einführen um das Überschreiben zu erzwingen.
Bild
Benutzeravatar
jacdelad
Beiträge: 404
Registriert: 03.02.2021 13:39
Wohnort: Riesa
Kontaktdaten:

Re: RenameFile auf ntfs

Beitrag von jacdelad »

Ich weiß nicht, was die Gurus dazu sagen, aber vielleicht solltest du mal einen Bugreport im englischen Forum schreiben (mit Code!). Meiner Ansicht nach darf dabei keine Datei überschrieben werden, aber vielleicht irre ich mich auch.
Wie gesagt, lassen wir mal noch einen der Gurus zu Wort kommen.
@Macros: Sorry, hab gerade erst gesehen, dass du den letzten Beitrag geschrieben hast. Bist ja schon laaaaange dabei, also gehst du als Guru durch. :mrgreen:
Guten Morgen, das ist ein schöner Tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: RenameFile auf ntfs

Beitrag von Bisonte »

jacdelad hat geschrieben: 27.09.2023 15:46 ... Meiner Ansicht nach darf dabei keine Datei überschrieben werden, aber vielleicht irre ich mich auch. ...
Dann wäre CreateFille() ja ebenfalls per BugReport zu melden, da es eine existierende Datei ohne wenn und aber überschreibt....

Das ist vom Betriebssystem/Filesystem so vorgesehen... wenn sich das auf dem einen so und auf dem anderen so verhält, kann man da schlecht
PB die Schuld in die Schuhe schieben ;)
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
jacdelad
Beiträge: 404
Registriert: 03.02.2021 13:39
Wohnort: Riesa
Kontaktdaten:

Re: RenameFile auf ntfs

Beitrag von jacdelad »

Ah ok, dann ist es ein Fehler meinerseits. Ich bin davon ausgegangen, dass ich eine Datei nicht umbenennen kann, wenn das Ziel schon "vergeben" ist. Wieder was gelernt.
Guten Morgen, das ist ein schöner Tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Antworten