Batch Umwandlung von short file names in long file names und umgekehrt
Wie kann man den short file name von %TEMP% in einen long file name umwandeln/bestimmen und als Variable(n) speichern?
Wie kann man allgemein einen short file name in einen long file name umwandeln?
Wie kann man allgemein einen short file name in einen long file name umwandeln?
Hallo.
Ich möchte die Umgebnungsvariable %TEMP% als Speicherort wählen und verarbeiten, nur wird der Pfad
abgekürzt nach der 8.3-Regel. Ich wollte die long file names des Pfads haben, um den Pfad durch delims=\
zu zerlegen und zu vergleichen.
Deshalb wollte ich bei short file names durch die Navigation durch relative Pfade die absoluten Pfade als long file names bestimmen, was verständlicherweise nicht geht.
Welche Möglichkeiten gibt es, den short file name von %TEMP% in einen long file name umzuwandeln bzw. allgemein
einen short file name in einen long file name umzuwandeln?
LG
Ich möchte die Umgebnungsvariable %TEMP% als Speicherort wählen und verarbeiten, nur wird der Pfad
abgekürzt nach der 8.3-Regel. Ich wollte die long file names des Pfads haben, um den Pfad durch delims=\
zu zerlegen und zu vergleichen.
Deshalb wollte ich bei short file names durch die Navigation durch relative Pfade die absoluten Pfade als long file names bestimmen, was verständlicherweise nicht geht.
Welche Möglichkeiten gibt es, den short file name von %TEMP% in einen long file name umzuwandeln bzw. allgemein
einen short file name in einen long file name umzuwandeln?
LG
echo off
echo hallo>>%TEMP%\Hallo.txt ::allgemeines Prinzip, nur um eine Datei im Ordner zu speichern.
exit
cd %TEMP%
cd .\..
cd .\..
cd .\.. ::bringt nichts, weil der Username immer noch im 8:3 Format ist.
echo %SYSTEMDRIVE%
echo %USERNAME%
set "Speicherpfad=%SYSTEMDRIVE%\Users\%USERNAME%\AppData\Local\Temp" ::jeder kann sich seine Umgebungsvariable individuell einstellen, daher nicht allgemein.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 168498
Url: https://administrator.de/forum/batch-umwandlung-von-short-file-names-in-long-file-names-und-umgekehrt-168498.html
Ausgedruckt am: 22.12.2024 um 22:12 Uhr
11 Kommentare
Neuester Kommentar
hi,
wie machst du das?
wie machst du das?
Hallo
LG
Gruß
Dominique
Ich möchte die Umgebnungsvariable %TEMP% als Speicherort wählen und verarbeiten
Das geht. Ist auch nicht schwer.nur wird der Pfad abgekürzt nach der 8.3-Formel.
Ist das ein Problem?Deshalb möchte ich relative Pfade in absolute Pfade umwandeln.
Was hat denn das mit deinem "Problem" zu tun?Gibt es eine Regel für das Setzen von relativen bzw. absoluten Pfaden und die Rekonvertierung?
oO?! s.o.LG
Dominique
Zitat von @Progfreund:
Na, da bin ich mal gespannt. >>%TEMP% ;)
Und wenn noch wer richtige Tipps hat, bitte nur rein.
Na, da bin ich mal gespannt. >>%TEMP% ;)
Und wenn noch wer richtige Tipps hat, bitte nur rein.
- mea culpa - aber ehrlich - muss das sein?
- halbfertige Fragen stellen ist ja schon die halbe Miete, gezielte Gegenfragen zu ignorieren der Rest...
for /f "tokens=2,*" %a in ('reg query HKCU\Environment ^|find /i "temp"') do echo %b
Und immer noch stellt sich die Frage - wo ist das Problem?
Ich melde mich erst wieder, wenn die Ferien vorbei sind - macht ja derzeit gar keinen Sinn...
Hallo Progfreund!
Sorry - ich verstehe auch nicht, was Du eigentlich willst (bzw was mit 8.3-Namen nicht mindestens genauso gut möglich wäre); auch was "
Deine Verwendung der Begriffe "relativer" bzw "absoluter" Pfad, finde ich übrigens, äh, gewöhnungsbedürftig ...
Grüße
bastla
Sorry - ich verstehe auch nicht, was Du eigentlich willst (bzw was mit 8.3-Namen nicht mindestens genauso gut möglich wäre); auch was "
>>%TEMP%
" sollte, ist mir nicht klar (eine Umleitung der Ausgabe mit einem Ordner als Ziel kann ja auch für andere Ordner nicht funktionieren), und wenn Du eine Datei in diesem Ordner ("%TEMP%\Datei.txt") als Ziel wählst, sehe ich das Problem nicht ...Deine Verwendung der Begriffe "relativer" bzw "absoluter" Pfad, finde ich übrigens, äh, gewöhnungsbedürftig ...
Grüße
bastla
Hallo Progfreund!
Welche Begriffe verwendest du für beide Varianten?
Ich weiß ja noch nicht einmal, welche Varianten Du meinst (und auch noch immer nicht, wobei Dir 8.3-Namen Probleme bereiten) ...
... aber ein relativer Pfad wäre zB
- ich muss nur wissen, wie ich vom Ausgangspfad zum Zielpfad komme (hier eben: eine Ordnerebene nach oben, und dann in "Nebenordner" und von dort aus in "Nebenunterordner"), aber nicht, ob sich dieser Zielpfad unterhalb von "D:\" oder von "X:\Was\weiss\ich\wo" (= jeweils "absolut") befindet ...
Grüße
bastla
Die Abfrage nach den Umgebungsvariablen sollte dazu dienen, in Fällen, in denen ein
Speichern dort nicht möglich ist, eine andere Umgebungsvariable zu wählen.
Bleibt für mich weiterhin unverständlich - wieso sollte ein Speichern dort nicht möglich sein, und welche "andere Umgebungsvariable" würdest Du dann wählen?Speichern dort nicht möglich ist, eine andere Umgebungsvariable zu wählen.
Welche Begriffe verwendest du für beide Varianten?
Ich weiß ja noch nicht einmal, welche Varianten Du meinst (und auch noch immer nicht, wobei Dir 8.3-Namen Probleme bereiten) ...
... aber ein relativer Pfad wäre zB
..\Nebenordner\Nebenunterordner
Grüße
bastla
Hallo Progfreund!
Danke für die Information, aber mir ist schon klar, wie 8.3-Namen aussehen - was ich nicht verstehe, ist, was Dich daran stört / Dir Probleme bereitet (da ganz im Gegenteil die Kurzschreibweise im Zweifelsfall nützlich ist, weil darin weder Leerzeichen noch zB Umlaute - etwa bei "Startmenü" - vorkommen) ...
ist (bezogen auf einen Ausgangspfad) ein relativer Pfad - absolut würde er zB so aussehen:
Grüße
bastla
Danke für die Information, aber mir ist schon klar, wie 8.3-Namen aussehen - was ich nicht verstehe, ist, was Dich daran stört / Dir Probleme bereitet (da ganz im Gegenteil die Kurzschreibweise im Zweifelsfall nützlich ist, weil darin weder Leerzeichen noch zB Umlaute - etwa bei "Startmenü" - vorkommen) ...
Ich habe die Navigation mit .\.. ersetzt durch die Abfrage der Umgebungsvariablen %TEMP%.
Abgesehen davon, dass anstelle von ".\..
" auch, wie oben gezeigt, "..
" genügt, war das nur ein Beispiel für eine typische Verwendung relativer Pfade - auchUnterordner\Unterunterordner
D:\Daten\Abteilung4\Unterordner\Unterunterordner
bastla
Zitat von @Progfreund:
> Zitat von @Clijsters:
> Das geht. Ist auch nicht schwer.
Na, da bin ich mal gespannt. >>%TEMP% ;)
Also, so leid es mir tut... Aber das ist mehr als unnötig.Und meines Erachtens nach (wie oben bereits erwähnt) nicht funktionstüchtig...> Zitat von @Clijsters:
> Das geht. Ist auch nicht schwer.
Na, da bin ich mal gespannt. >>%TEMP% ;)
> Ist das ein Problem?
Ja.
Und das - Naja, Wenn du dein Problem definieren könntest, was das mit relativen und absoluten Pfaden zu tun hat, werde ich mein Bestes geben,Ja.
dir zu helfen und produktive Antworten zu geben...
> Was hat denn das mit deinem "Problem" zu tun?
s.o.
Kein Kommentars.o.
Und wenn noch wer richtige Tipps hat, bitte nur rein.
Und jetzt einmal im Ernst:
Bis jetzt habe ich nach all den Versuchen von Bastla und T-Mo noch keine schlüssige Frage / Problemstellung erkennen können.
Wenn du mir ganz einfach sagen könntest, was dein Problem ist, wo es hapert oder am Besten: Was du genau vor hast,
wird hier sicherlich jeder inklusive mirsein Bestes geben, dir zu helfen.
Gruß
Dominique
Moin Progfreund,
Die wird immer dann angewendet, wenn das Dateisystemobjekt(Datei, Pfad,..) sich nicht an Namenskonventionen hält, die z.B. auf USB-Sticks, Win95-Rechnern oder CDs noch üblich sind oder auch, ganz banal, wenn die darin enthaltenen Zeichen nicht im Standardzeichensatz eines jeden Windows-Users enthalten sind.
Beispiel:
--> diese Datei wurde nicht mit einem short name versehen, weil der Name länger als 8 Zeichen ist, sondern wegén der Umlaute.
Und wie einfach zu erkennen ist, wurde einfach ein Hex-Timestamp als neuer Basis-8.3-Name genommen.
Hauptanliegen der Redmonder PraktikantInnen war ausschliesslich die Einhaltung der 8.3-"Regel".
Eine Formel zum Vor- und Zurückübersetzen war zu keinem Zeitpunkt vorgesehen und es gibt auch weltweit bislang nur einen Anwender, der danach gefragt hat.
:
Ich habe hier eine Regel für die Konvertierung von Beiträgen...
Öhhmm - ja. ???? Damit willst du uns sagen...?? Oder.... nee... ?!? *kopfkratz* Hmmmm.
Das deutet zwar auf ein Problem hin, aber auf keines, das wir hier im Forum lösen können,
Ich sach' ma' so...
Auf allen Windows-Rechnern gibt es ein %temp%-Verzeichnis, in dem jeder Schreibrechte hat, der irgendwie per Tastatur oder Maus den Eindruck erweckt, er wolle einen "Befehl" absetzen.
Die Seriösität von zwei kopulierenden Hummeln oder eine vom Baum auf die Tastatur fallende Sauerkirsche reicht dafür schon.
Warum also sollte Windows dann dir dieses Recht verwehren?
Aber einen Ort hier im Forum gibt es, in dem auch jeder unbegrenzte Schreibrechte hat:
Und zwar deshalb, weil es mich wirklich stinkesauer macht, wenn du nach 5 Stunden mit geduldigen Nachfragen und Bitten mehrerer Hilfewilliger, denen es trotz ehrlichen Bemühens nicht gelungen ist, dein subjektiv empfundenes Problem irgendwie erkennbar zu machen (außer dir weiss auch jetzt noch niemand, was denn deine Frage oder dein Ziel war)...
Wenn du dann nach 5 Stunden, in denen nicht mal die Frage geklärt war, geschweige denn eine Lösung, dann den Beitrag auf "erledigt" setzt, deiner Wege gehst und alle anderen hier mit grossen Fragezeichen in den Augen zurücklässt.
Grüße
Biber
Zitat von @Progfreund:
Ich möchte die Umgebnungsvariable %TEMP% als Speicherort wählen und verarbeiten,
nur wird der Pfad abgekürzt nach der 8.3-Formel.
Das ist keine "Formel", sondern eine "Regel".Ich möchte die Umgebnungsvariable %TEMP% als Speicherort wählen und verarbeiten,
nur wird der Pfad abgekürzt nach der 8.3-Formel.
Die wird immer dann angewendet, wenn das Dateisystemobjekt(Datei, Pfad,..) sich nicht an Namenskonventionen hält, die z.B. auf USB-Sticks, Win95-Rechnern oder CDs noch üblich sind oder auch, ganz banal, wenn die darin enthaltenen Zeichen nicht im Standardzeichensatz eines jeden Windows-Users enthalten sind.
Beispiel:
>echo x>üöüäö.txt
>dir /x *.txt
...
23.06.2011 00:25 3 33B9~1.TXT üöüäö.txt
1 Datei(en) 3 Bytes
Und wie einfach zu erkennen ist, wurde einfach ein Hex-Timestamp als neuer Basis-8.3-Name genommen.
Hauptanliegen der Redmonder PraktikantInnen war ausschliesslich die Einhaltung der 8.3-"Regel".
Eine Formel zum Vor- und Zurückübersetzen war zu keinem Zeitpunkt vorgesehen und es gibt auch weltweit bislang nur einen Anwender, der danach gefragt hat.
:
Deshalb möchte ich relative Pfade in absolute Pfade umwandeln.
Wo wir gerade auf das Thema "Relativer und absoluter Schwachsinn" zu sprechen kommen....Gibt es eine Regel für das Setzen von relativen bzw. absoluten Pfaden und die Rekonvertierung?
Ich sach' ma' so....Ich habe hier eine Regel für die Konvertierung von Beiträgen...
cd %TEMP%
cd .\..
cd .\..
cd .\.. ::bringt nichts, weil der Username immer noch im 8:3 Format ist.
>
Das deutet zwar auf ein Problem hin, aber auf keines, das wir hier im Forum lösen können,
Die Abfrage nach den Umgebungsvariablen sollte dazu dienen, in Fällen, in denen ein
Speichern dort nicht möglich ist, eine andere Umgebungsvariable zu wählen.
Speichern dort nicht möglich ist, eine andere Umgebungsvariable zu wählen.
Ich sach' ma' so...
Auf allen Windows-Rechnern gibt es ein %temp%-Verzeichnis, in dem jeder Schreibrechte hat, der irgendwie per Tastatur oder Maus den Eindruck erweckt, er wolle einen "Befehl" absetzen.
Die Seriösität von zwei kopulierenden Hummeln oder eine vom Baum auf die Tastatur fallende Sauerkirsche reicht dafür schon.
Warum also sollte Windows dann dir dieses Recht verwehren?
Aber einen Ort hier im Forum gibt es, in dem auch jeder unbegrenzte Schreibrechte hat:
### Papierkorb ###
Und zwar deshalb, weil es mich wirklich stinkesauer macht, wenn du nach 5 Stunden mit geduldigen Nachfragen und Bitten mehrerer Hilfewilliger, denen es trotz ehrlichen Bemühens nicht gelungen ist, dein subjektiv empfundenes Problem irgendwie erkennbar zu machen (außer dir weiss auch jetzt noch niemand, was denn deine Frage oder dein Ziel war)...
Wenn du dann nach 5 Stunden, in denen nicht mal die Frage geklärt war, geschweige denn eine Lösung, dann den Beitrag auf "erledigt" setzt, deiner Wege gehst und alle anderen hier mit grossen Fragezeichen in den Augen zurücklässt.
Grüße
Biber