Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Kurze Dateinamen anlegen (https://www.delphipraxis.net/90476-kurze-dateinamen-anlegen.html)

xaromz 18. Apr 2007 08:19


Kurze Dateinamen anlegen
 
Hallo,

ich musste gerade feststellen, dass Vista keine kurzen Dateinamen mehr anlegt. Kennt jemand ein Programm, mit dem ich die Dateiattribute inklusive kurzem Dateinamen ändern kann?

Gruß
xaromz

marabu 18. Apr 2007 10:31

Re: Kurze Dateinamen anlegen
 
Hallo,

die API Funktion SetFileShortName() gibt es doch auch noch unter Vista - oder?

Grüße vom marabu

sakura 18. Apr 2007 10:36

Re: Kurze Dateinamen anlegen
 
Also bei mir macht Vista es ohne Murren...
Code:
C:\Program Files>dir /x
 Volume in Laufwerk C: hat keine Bezeichnung.
 Volumeseriennummer: 8C3F-412E

 Verzeichnis von C:\Program Files

18.04.2007  10:49    <DIR>                      .
18.04.2007  10:49    <DIR>                      ..
16.03.2007  11:41    <DIR>                      Adobe
02.03.2007  10:59    <DIR>         BITLOC~1     BitLocker
09.02.2007  14:25    <DIR>         CEREMO~1     CE Remote Tools
12.03.2007  16:13    <DIR>         CLICK-~1     Click-and-Drink Shop Client
25.03.2007  15:02    <DIR>                      CodeGear
02.04.2007  12:36    <DIR>         COMMON~1     Common Files
18.04.2007  10:49    <DIR>         GIFMOV~1     GIF Movie Gear
09.02.2007  14:32    <DIR>         HTMLHE~1     HTML Help Workshop
12.02.2007  11:27    <DIR>         INTERN~1     Internet Explorer
03.03.2007  16:40    <DIR>         MICROS~3.NET Microsoft ASP.NET
09.02.2007  14:40    <DIR>         MI9C2B~1     Microsoft Device Emulator
12.02.2007  11:47    <DIR>         MICROS~1     Microsoft Games
09.02.2007  14:52    <DIR>         MI1933~1     Microsoft Office
08.03.2007  10:42    <DIR>         MI6841~1     Microsoft SQL Server
09.02.2007  14:40    <DIR>         MI40D9~1     Microsoft SQL Server 2005 Mobile Edition
09.02.2007  13:19    <DIR>         MICROS~3     Microsoft Visual Studio
12.02.2007  11:34    <DIR>         MICROS~2.NET Microsoft Visual Studio .NET 2003
09.02.2007  16:01    <DIR>         MICROS~2     Microsoft Visual Studio 8
09.02.2007  13:20    <DIR>         MICROS~4     Microsoft Works
09.02.2007  14:42    <DIR>         MICROS~1.NET Microsoft.NET
12.02.2007  11:13    <DIR>         MOVIEM~1     Movie Maker
09.02.2007  13:19    <DIR>                      MSBuild
14.02.2007  11:28    <DIR>                      MSECache
02.11.2006  14:35    <DIR>                      MSN
12.02.2007  11:40    <DIR>         MSXML4~1.0   MSXML 4.0
02.04.2007  12:36    <DIR>                      Nero
02.11.2006  14:35    <DIR>         REFERE~1     Reference Assemblies
19.02.2007  11:45    <DIR>         RESOUR~1     Resource Kit
13.02.2007  17:41    <DIR>         SMARTF~1.0   SmartFTP Client 2.0
09.02.2007  12:57    <DIR>                      Tablet
02.04.2007  17:07    <DIR>                      Virtools
12.02.2007  11:13    <DIR>         WIF3F6~1     Windows Calendar
12.02.2007  11:13    <DIR>         WICE93~1     Windows Collaboration
12.04.2007  09:32    <DIR>         WINDOW~3     Windows Defender
12.02.2007  11:13    <DIR>         WI0FCF~1     Windows Journal
12.02.2007  18:04    <DIR>         WIE5D0~1     Windows Live Safety Center
12.04.2007  09:27    <DIR>         WINDOW~1     Windows Mail
12.02.2007  11:13    <DIR>         WI4EB4~1     Windows Media Player
09.02.2007  12:14    <DIR>         WINDOW~2     Windows NT
12.02.2007  11:13    <DIR>         WINDOW~4     Windows Photo Gallery
12.02.2007  11:13    <DIR>         WICC9F~1     Windows Sidebar
19.02.2007  14:22    <DIR>         XNRESO~1     XN Resource Editor
               0 Datei(en),             0 Bytes
              44 Verzeichnis(se), 95.873.321.984 Bytes frei
...:cat:...

xaromz 18. Apr 2007 10:48

Re: Kurze Dateinamen anlegen
 
Hallo,

dann weiß ich auch nicht, wass das soll. Ich habe hier eine Festplatte aus einem WinXP-Rechner. Weil ich das System neu aufsetzen, aber das Original sichern wollte, habe ich einfach "Programme", "Windows" und "Dokumente und Einstellungen" in der Eingabeaufforderung der Vista-CD umbenannt. Nachdem die Neuinstallation nicht so geklappt hat, wie ich das wollte, habe ich die Ordner genauso wieder zurückbenannt. Als ich dann nachgesehen habe (weil viele Programme nicht mehr liefen), war die Spalte mit den kurzen Dateinamen einfach leer. Alte Win31-Programme zeigen auch die Ordner nicht an.

Inzwischen habe ich die Platte an einen WinXP-Rechner gehängt, einfach einen neuen Programme-Ordner erzeugt und den Inhalt des alten verschoben. Aber das kann es ja nicht sein.

Gruß
xaromz

Luckie 18. Apr 2007 11:34

Re: Kurze Dateinamen anlegen
 
Man kann die Speicherung der kurzen Dateinamen im Dateisystem deaktivieren. War das eventuell bei der XP Installation der Fall?

xaromz 18. Apr 2007 11:42

Re: Kurze Dateinamen anlegen
 
Hallo,
Zitat:

Zitat von Luckie
Man kann die Speicherung der kurzen Dateinamen im Dateisystem deaktivieren. War das eventuell bei der XP Installation der Fall?

nein, die Installation hat ja kurze Dateinamen benutzt, das ist ja mein Problem. Ich denke eher, die Speicherung kurzer Dateinamen ist im Reparaturmodus der Vista-DVD deaktiviert.

Gruß
xaromz

Delphi-Laie 15. Jan 2009 12:28

Re: Kurze Dateinamen anlegen
 
Zitat:

Zitat von xaromz
Kennt jemand ein Programm, mit dem ich die Dateiattribute inklusive kurzem Dateinamen ändern kann?

An einem solchen Programm werkel(t)e ich, und bis auf die SetFileShortName-Funktion ist es fertig. Wie man diese Funktion aufgerufen bekommt, ist mir unbekannt. Delphi4 jedenfalls kennt sie auch auf XP nicht. Und alle möglichen Delphis oder auch nur ein zusätzliches Delphi (Version 7) zusätzlich nur deshalb auf meinem XP zu installieren, habe ich keine Lust. Delphi 7, einstmals auf einem Win2000 installiert, kannte diese Funktion (wenigstens auf diesem Betriebsprogramm) jedenfalls auch nicht. Wie man Delphi unbekannte WinAPIs aufruft, weiß ich als Delphi-Laie natürlich (auch) nicht. Ich weiß also verdammt wenig.

Diese Funktion scheint jedenfalls so exotisch zu sein, so selten benötigt zu werden, daß ich nur diese eine Diskussion dazu überhaupt fand.

Ein gutes diesbezügliches Programm, wenn auch ohne die nahezu überflüssige (?) Editierung des kurzen (DOS-(kompatiblen)) Dateinamens, ist auch Winattrib bei lab1/toolsandmore von Herrn Wolfgang Wirth (das soll jetzt aber keine (unzulässige?) Werbung sein).

Delphi-Laie 15. Jan 2009 12:33

Re: Kurze Dateinamen anlegen
 
Zitat:

Zitat von Luckie
Man kann die Speicherung der kurzen Dateinamen im Dateisystem deaktivieren.

Darf ich Dich, Luckie/Michael, vorsichtig fragen, wie man das tut? War mir bis dato eine unbekannte Option....

himitsu 15. Jan 2009 13:12

Re: Kurze Dateinamen anlegen
 
Zitat:

Delphi4 jedenfalls kennt sie auch auf XP nicht.
wenn dein Delphi diese Funktion nicht kennt, dann implementier sie doch einfach selber.

(wie die Deklaration aussieht, steht schließlich im MSDN/PSDK)
MSDN-Library durchsuchenSetFileShortName

Delphi-Laie 15. Jan 2009 13:37

Re: Kurze Dateinamen anlegen
 
Zitat:

Zitat von himitsu
Zitat:

Delphi4 jedenfalls kennt sie auch auf XP nicht.
wenn dein Delphi diese Funktion nicht kennt, dann implementier sie doch einfach selber.

(wie die Deklaration aussieht, steht schließlich im MSDN/PSDK)
MSDN-Library durchsuchenSetFileShortName

Nun, im MSDN fand ich die damals auch schon längst.

Nur ist die Antwort "sie doch einfach selber" zu implementieren, nicht unbedingt eine solche, mit der ich als Delphi-Laie allzuviel anfangen kann. Wenn ich wüßte, wie das geht (wenn man es weiß, ist es sicher trivial), dann hätte ich es schon längst getan. Gibt es einen - mir unbekannten - Befehl für Delphi, den nachfolgenden Ausdruck als Windows-API-Funktion aufzurufen (und eben nicht vergebens in den Units danach zu suchen)?

Ich gebe den Funktionsnamen in den Delphi-Quelltext ein, und dort wird sie weder von der "Sofortunterstützung nach Eingabe des Wortes" (wie lautet der Fachausdruck dazu?) noch vom Compiler beim Übersetzungsversuch erkannt. Es gibt natürlich API-Rubriken in den Foren, aus denen ich aber noch nicht schlau geworden bin.

Und damit bin ich als Laie eben schon am Ende meines immer noch ziemlich kleinen Delphi-Latinums, leider.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:12 Uhr.
Seite 1 von 2  1 2      

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