Kann ich im geöffneten Windows-Dateidialog einen Schrägstrich verwenden?


4

Im Windows-Standarddialog zum Öffnen von Dateien (z. B. über den Menüeintrag "Datei> Öffnen" im Editor) möchte ich einen Pfad mit Schrägstrichen eingeben können /. Es werden jedoch nur umgekehrte Schrägstriche akzeptiert (ich habe es sowohl unter Windows XP als auch unter Windows 7 versucht). Ich kann öffnen c:\autoexec.bat, aber wenn ich versuche, /autoexec.batoder zu öffnen c:/autoexec.bat, erhalte ich die Fehlermeldung

c:/autoexec.bat
The file name is not valid.

Windows akzeptiert in einigen Kontexten Schrägstriche als Pfadtrennzeichen , jedoch zumindest standardmäßig nicht im Dialogfeld zum Öffnen von Dateien.

Gibt es eine magische Registrierungseinstellung, ein Add-On-Programm oder eine andere sinnvolle Methode, mit der ich Schrägstriche im Windows-Dialogfeld zum Öffnen von Dateien verwenden kann ? Ich interessiere mich besonders für Office 2007 unter Windows 7, würde aber eine Lösung vorziehen, die für alle Anwendungen gilt, die den Standarddialog unter XP und 7 verwenden.

"Windows nicht verwenden" ist keine Option.


darf ich fragen warum willst du die schrägstriche? Sie tippen nicht die vollständigen Pfade ein, oder? und wenn ja, wissen Sie, dass mit Backslashes auch die Dropdown-Box kommt. Auf keinen Fall können Sie schneller tippen, als die Dropdown-Vervollständigung zu nutzen
am

Das einzige, woran ich denken kann, ist, dass das OP Pfade von einer Quelle mit Schrägstrichen kopiert / einfügt. In diesem Fall würde ich diese Quelle reparieren, um Pfade im Windows-Stil
auszugeben

Eigentlich ist es ist ein gültiger Pfad Separator. Es wurde vor langer Zeit hinzugefügt, damit Windows eine gewisse POSIX-Konformität beanspruchen kann. Es ist nur so, dass nicht alle Windows-Anwendungen dies unterstützen. Sie können es beispielsweise an der Eingabeaufforderung verwenden. Siehe meine Antwort für einen Link zu einer ausführlicheren Erklärung. Sie möchten es verwenden, um Skripte und Anwendungen zu haben, die über die Betriebssysteme hinweg enger aufeinander abgestimmt sind.
Julian Knight

@stijn Ja, Copy-Paste war mein Anwendungsfall. Da die Anwendungen, die ich zum Kopieren und Einfügen neige, für andere Zwecke Backslash verwenden, während Windows den Schrägstrich in diesem Kontext als ungültiges Zeichen behandelt, kann nur die Windows-Seite angepasst werden.
Gilles

1
@JulianKnight - nur ein FYI, MS eine doesnt haben Grad von POSIX - Konformität ist es 100% POSIX - kompatibel mit den apporpriate MS Addons. Siehe en.wikipedia.org/wiki/Interix
Keltari

Antworten:


4

Ich fürchte, die Antwort lautet nein : Der angezeigte Dialog stammt von der Standard-Windows-API und wird von den meisten Programmen verwendet. Beim Programmieren gibt es einige Optionen, die aktiviert / deaktiviert werden können. Diejenige, die Ihr Problem verursacht, befindet sich OFN_FILEMUSTEXISTin der Struktur OPENFILENAME . Ich konnte nichts finden, was dokumentiert, wie genau die Prüfung durchgeführt wird, geschweige denn, wie sie geändert werden kann.

Die einzige Lösung, die ich auf der Windows-Seite sehe, ist das Patchen der DLL, die die Funktion enthält, und eine weitere Überprüfung, die Schrägstriche zulässt.

Auf der anderen Seite können Dinge behoben werden, wenn Sie ein Programmierer sind: Das schnellste, was ich mir vorstellen kann (abgesehen vom Ändern der Quelle der Zeichenfolgen), ist das Erstellen eines kleinen Befehlszeilenprogramms, das die aktuellen Eingaben aus der Zwischenablage übernimmt und vorwärts konvertiert zu Backslashes und legt das Ergebnis wieder in der Zwischenablage ab. Legen Sie es in eine Batch-Datei, weisen Sie ihm eine Verknüpfung zu und fertig. Ihr Workflow wäre: Pfad kopieren, Tastenkombination drücken, Strg-V im Dialogfeld drücken, das ist nur ein einfacher zusätzlicher Schritt. Ich denke, die meisten Skriptsprachen können den Inhalt der Zwischenablage unter Windows abrufen, und alle können Regex ersetzen, so dass es eigentlich nur ein paar Codezeilen sind.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.