thomas1972
Goto Top

Auswahlfenster von BAT Dateien aus Verzeichnis X

Hallo,

ich habe da eine Frage,
besteht die Möglichkeit mit Windows Boardmitteln aus einem Verzeichnis alle BAT Dateien sich in einem Auswahlfenster vorblenden zu lassen und diese dann auch auszuwähen und direkt auszuführen?

Grüße aus München

Content-Key: 269324

Url: https://administrator.de/contentid/269324

Printed on: April 23, 2024 at 19:04 o'clock

Member: colinardo
colinardo Apr 16, 2015 updated at 10:13:52 (UTC)
Goto Top
Hallo Thomas,
z.B. quick & dirty mit folgendem Einzeiler:
powershell -ExecutionPolicy ByPass -Command "&{gci 'c:\temp\*.bat' | select Fullname | out-gridview -Title 'Batchdatei wählen und ausführen' -PassThru | %{Start-Process $_.Fullname}}"  
Grüße Uwe
Member: thomas1972
thomas1972 Apr 16, 2015 at 10:19:39 (UTC)
Goto Top
Hallo Uwe, danke für den Ansatz,

leider kann/darf ich keine Powershell Dateien/Befehle ausführen (fehlende Rechte)
Gibt es noch eine Alternative?
Member: colinardo
colinardo Apr 16, 2015 updated at 10:25:43 (UTC)
Goto Top
leider kann/darf ich keine Powershell Dateien/Befehle ausführen (fehlende Rechte)
Du armer ...
Zitat von @thomas1972:
Gibt es noch eine Alternative?
Worin oder mit was arbeitest du denn ? Da gibt es noch diverse andere Möglichkeiten. Wenn ich weiß in welchem Kontext kann ich besser auswählen, bevor ich hier alle Möglichkeiten vorführe und du das alles nicht darfst face-wink (z.B. AutoIT / HTA / VBA-Form)
Member: thomas1972
thomas1972 Apr 16, 2015 at 10:29:57 (UTC)
Goto Top
Leider ja face-sad(

Habe nur den Windows Explorer zur Verfügung. und finde es ein wenig schwierig hier 50 Dateien aus dem Fenster selktieren und dann zu starten.
vbs Scripte kann ich wenn maximal ausführen

AutoIT ect kann ich nicht nutzen, da ich keine Rechte habe Sie zu installieren.
Member: colinardo
colinardo Apr 16, 2015 updated at 10:32:28 (UTC)
Goto Top
Zitat von @thomas1972:
vbs Scripte kann ich wenn maximal ausführen
OK , dann bau ich dir nachher mal was als HTA, das ist quasi VBS, lässt sich aber auch per Doppleklick ausführen.
AutoIT ect kann ich nicht nutzen, da ich keine Rechte habe Sie zu installieren.
Muss man nicht, wenn man das Script als EXE kompiliert (das läuft dann nativ ohne irgendwelche Frameworks) ... kann man ja an einem anderen Rechner machen.
Member: colinardo
colinardo Apr 16, 2015 updated at 11:21:40 (UTC)
Goto Top
Hier mal eine Variante mit einem HTA-File/VBS. Das ganze in einer Textdatei mit der Endung *.hta speichern und Doppelklick ... (Zeile 16 wird der Ordner angegeben in denen die *.bat liegen)
Hinweis: ActiveScripting muss dazu im IE aktiviert sein.
<html>
<head>
<title>Batch wählen und ausführen</title>
<HTA:APPLICATION
  APPLICATIONNAME="Batches"  
  ID="Batches"  
  VERSION="1.0"  
  BORDER="dialog"  
  MAXIMIZEBUTTON="no"  
  MINIMIZEBUTTON="no"  
  SCROLL="no"  
  CONTEXTMENU="no"/>  
</head>

<script language="VBScript">  
Const FOLDER = "C:\temp"  
Dim listbox,fso,objShell

Sub Window_OnLoad
	Set fso = CreateObject("Scripting.FileSystemObject")  
	Set objShell = CreateObject("Wscript.Shell")  
	
	window.resizeTo 300,305	
	Set listbox = document.getElementById("lbBatches")  
	listbox.multiple = False
	For Each file In fso.GetFolder(FOLDER).Files
  		If LCase(fso.GetExtensionName(file.Name)) = "bat" Then  
  			Set opt = document.createElement("option")  
  			opt.text = file.Name
  			opt.value= file.Path
  			listbox.add(opt)
  		End If
	Next
End Sub
Sub btnRun_Click()
	If listbox.selectedIndex <> -1 Then
		objShell.Run listbox.options(listbox.selectedIndex).value,1,False
		window.close
	End If
End Sub
Sub Window_OnClose
	Set fso = Nothing
	Set objShell = Nothing
End Sub
</script>

<body bgcolor="white" style="margin:0;padding:0">  
	<select name="lbBatches" id="lbBatches" size=10 style="width:300px;height:250px"></select>  
	<input type="button" name="btnRun" id="btnRun" value="Ausführen" onclick="btnRun_Click" style="width:300px">  
</body>
</html>
Member: thomas1972
thomas1972 Apr 16, 2015 at 10:59:41 (UTC)
Goto Top
Hallo Uwe, da dank ich dir...
Member: thomas1972
thomas1972 Apr 16, 2015 at 11:19:52 (UTC)
Goto Top
Hallo Uwe, danke schön,

ich habe den Pfad angepasst, leider wird mir keine Datei vorgeblendet.

Woran kann dieses liegen?
Member: colinardo
colinardo Apr 16, 2015 updated at 11:25:34 (UTC)
Goto Top
Haben die Batches alle die Endung *.bat ?
Hast du ActiveScripting in den IE Sicherheitseinstellungen aktiviert ? (Eventuell den Pfad des Scripts zur Zone der vertrauenswürdigen Sites hinzufügen)
Member: colinardo
colinardo Apr 16, 2015 updated at 11:24:28 (UTC)
Goto Top
Ähhh sorry hatte als Endung *.cmd angegeben .. (Zeile 27). Macht der Gewohnheit face-smile / Ist korrigiert.
Member: thomas1972
thomas1972 Apr 16, 2015 at 11:23:23 (UTC)
Goto Top
Nein haben nicht alle die Endung bat.
hier liegen auch ini Dateien ect drin..

Active Scripting ist aktiv

Zone der Vertrauenwürdigen Seiten kann ich nicht erweitenr (Keine rechte)
Member: colinardo
colinardo Apr 16, 2015 updated at 12:21:42 (UTC)
Goto Top
Hatte die Dateierweiterung oben noch korrigiert.
(Keine rechte)
Du solltest mal drüber nachdenken besser gleich mit "richtigen" Programmiersprachen wie VB.Net / C# zu arbeiten wenn es um Oberflächen geht. Das wird doch sonst ein Gefrickel sondergleichen.
Member: thomas1972
thomas1972 Apr 17, 2015 at 10:14:29 (UTC)
Goto Top
Gebe ich dir voll und ganz recht.
Werde dieses intern mal prüfen lassen ob dieses rechtetechnisch (mit der entsprechenden Software) überhaupt gewünscht ist)