130834
Sep 15, 2016
6123
5
0
( Batch ) Open File or Folder Dialog
Hallo Programmierer und ähnliches da draußen
Also ich hab neulich nach dem hier gesucht
( Bild ) da ihr alle wisst, das Benutzer nicht für Genauigkeit bekannt sind, und ... ja wie auch immer. Es gibt ja die normalen File select Dialoge und die hässlichen Folder select Dialoge. Es gibt merges die beides akzeptieren, und genau sowas suche ich, und wenn das nicht schon genug wäre, auch noch in einer Batch
Notiz; ich möchte die Batch nicht kompilieren, also bitte keine Zusatz Tools, sondern eher Stock Windows.
Danke, habt nen schönen Tag
lg clragon
PS: keine angst, ich werde bald auf C# umsteigen, dann hören die unmöglichen Batch - Probleme auf.
Also ich hab neulich nach dem hier gesucht
( Bild ) da ihr alle wisst, das Benutzer nicht für Genauigkeit bekannt sind, und ... ja wie auch immer. Es gibt ja die normalen File select Dialoge und die hässlichen Folder select Dialoge. Es gibt merges die beides akzeptieren, und genau sowas suche ich, und wenn das nicht schon genug wäre, auch noch in einer Batch
Notiz; ich möchte die Batch nicht kompilieren, also bitte keine Zusatz Tools, sondern eher Stock Windows.
Danke, habt nen schönen Tag
lg clragon
PS: keine angst, ich werde bald auf C# umsteigen, dann hören die unmöglichen Batch - Probleme auf.
Please also mark the comments that contributed to the solution of the article
Content-Key: 315337
Url: https://administrator.de/contentid/315337
Printed on: April 18, 2024 at 08:04 o'clock
5 Comments
Latest comment
Hallo clragon,
Bidde:
oder alternativ auch per Shell.Application COM-Object
Die Befehle geben jeweils den/die ausgewählten Pfad(e) aus sofern nicht auf Abbrechen geklickt wird.
Willst du das Ergebnis in einer Variablen, pack die Befehle einfach in eine FOR-Schleife.
Die Dialogeigenschaften kann man mit dem Setzen von Eigenschaften festlegen. Z.B. den initialen Ordner ob mehrere Dateien ausgewählt werden können oder den Filter, etc, alles möglich.
Die Referenz zu den NET Objekten der FileSystemDialoge findest du im MSDN.
https://msdn.microsoft.com/de-de/library/system.windows.forms.openfiledi ...
Grüße Uwe
Bidde:
FileOpenDialog
powershell -Executionpolicy ByPass -Command "[void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms');$dlg = New-Object System.Windows.Forms.OpenFileDialog; if($dlg.ShowDialog() -eq 'OK'){return $dlg.FileNames}"
FolderBrowserDialog
powershell -Executionpolicy ByPass -Command "[void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms');$dlg = New-Object System.Windows.Forms.FolderBrowserDialog; if($dlg.ShowDialog() -eq 'OK'){return $dlg.SelectedPath}"
powershell -Executionpolicy ByPass -Command "(New-Object -Com Shell.Application).BrowseForFolder(0,'Bitte Ordner wählen',0,$null).Self.Path"
SaveFileDialog
powershell -Executionpolicy ByPass -Command "[void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms');$dlg = New-Object System.Windows.Forms.SaveFileDialog; if($dlg.ShowDialog() -eq 'OK'){return $dlg.Filename}"
Die Befehle geben jeweils den/die ausgewählten Pfad(e) aus sofern nicht auf Abbrechen geklickt wird.
Willst du das Ergebnis in einer Variablen, pack die Befehle einfach in eine FOR-Schleife.
Die Dialogeigenschaften kann man mit dem Setzen von Eigenschaften festlegen. Z.B. den initialen Ordner ob mehrere Dateien ausgewählt werden können oder den Filter, etc, alles möglich.
Die Referenz zu den NET Objekten der FileSystemDialoge findest du im MSDN.
https://msdn.microsoft.com/de-de/library/system.windows.forms.openfiledi ...
Grüße Uwe
Zitat von @130834:
Also hab's getestet. Mal abgesehen davon das es recht langsam ist, was irgendwie bei powershell-snippets öfter vorzukommen scheint
Nur wenn man damit in der langsam aber sicher hoffnungslos veralteten cmd rumfuchtelt . 1 Sekunde ist dir zu langsam? wie gesagt das sind alles Kompromisse die man eingehen muss wenn man sich keine eigene App dafür kompiliert.Also hab's getestet. Mal abgesehen davon das es recht langsam ist, was irgendwie bei powershell-snippets öfter vorzukommen scheint
, ist mein Problem das ich gerne auch Ordner in dem File select Dialog auswählen möchte, und das zusammen mit den Dateien, da ich eine batch habe die beides verarbeitet.
Hört sich aber recht unmöglich an, da es die Funktion so etwas zu tun wohl nicht standardmäßig in Windows gibt...
Mit Powershell kannst du dir deine eigenen Dialoge nach Gusto bauen, dir steht das ganze .NET Framework zur Verfügung inkl. Windows Forms und WPF ... alles ist möglich Beispiele dazu findest du von mir hier im Forum massenhaft.Hört sich aber recht unmöglich an, da es die Funktion so etwas zu tun wohl nicht standardmäßig in Windows gibt...
Besser du baust dir gleich eine native App. Batch ist und bleibt einfach nichts für grafische Oberflächen, du kannst hier nur Kompromisse eingehen.
Als weitere Alternative, EXE mit AutoIT kompilieren und beipacken.
Viel mehr Möglichkeiten hast du mit Bordmitteln nicht, außer auf Dialoge von COM-Objekten via VBS zuzugreifen, aber diese kannst du auch nicht großartig anpassen.