Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Datei auswählen (XP, Win7...) mittels vbs in Batch

Mitglied: OKIDOKI

OKIDOKI (Level 1) - Jetzt verbinden

05.08.2013, aktualisiert 12:51 Uhr, 2236 Aufrufe, 9 Kommentare

Hallo zusammen,
das Thema wird hier heiß diskutiert und es gibt auch Lösungansätze:
4 und auch 5 oder hier 6.

Das Problem ist aber, dass die beiden ersten Varianten unter Windows 7 nicht mehr funktionieren.
Folgenden Code habe ich anzubieten, der in W7 geht und den den Pfad auch ausgibt. Nun möchte ich allerdings den Pfad in einer Variablen haben und benötige kein Ausgabefenster. Das bekomme ich leider nicht hin und benötige eure Hilfe! Dann ist vielleicht auch Dani und vielen anderen geholfen!
01.
@ECHO OFF & SETLOCAL 
02.
 >%temp%\msgbox.vbs ECHO Function BrowseForFile() 
03.
>>%temp%\msgbox.vbs ECHO With CreateObject("WScript.Shell") 
04.
>>%temp%\msgbox.vbs ECHO Dim fso : Set fso = CreateObject("Scripting.FileSystemObject") 
05.
>>%temp%\msgbox.vbs ECHO Dim tempFolder : Set tempFolder = fso.GetSpecialFolder(2) 
06.
>>%temp%\msgbox.vbs ECHO Dim tempName : tempName = fso.GetTempName() ^& ".hta" 
07.
>>%temp%\msgbox.vbs ECHO Dim path : path = "HKCU\Volatile Environment\MsgResp" 
08.
>>%temp%\msgbox.vbs ECHO With tempFolder.CreateTextFile(tempName) 
09.
>>%temp%\msgbox.vbs ECHO .Write "<input type=file name=f>" ^& _ 
10.
>>%temp%\msgbox.vbs ECHO "<script>f.click();(new ActiveXObject('WScript.Shell'))" ^& _ 
11.
>>%temp%\msgbox.vbs ECHO ".RegWrite('HKCU\\Volatile Environment\\MsgResp', f.value);" ^& _ 
12.
>>%temp%\msgbox.vbs ECHO "close();</script>" 
13.
>>%temp%\msgbox.vbs ECHO .Close 
14.
>>%temp%\msgbox.vbs ECHO End With 
15.
>>%temp%\msgbox.vbs ECHO .Run tempFolder ^& "\" ^& tempName, 1, True 
16.
>>%temp%\msgbox.vbs ECHO BrowseForFile = .RegRead(path) 
17.
>>%temp%\msgbox.vbs ECHO .RegDelete path 
18.
>>%temp%\msgbox.vbs ECHO End With 
19.
>>%temp%\msgbox.vbs ECHO End Function 
20.
>>%temp%\msgbox.vbs ECHO MsgBox BrowseForFile 
21.
for /f "delims=" %%i in ('cscript //nologo %temp%\msgbox.vbs') do set "Pfad=%%~dpi" & set "Name=%%~ni" & set "Typ=%%~xi" 
22.
del %temp%\msgbox.vbs 
23.
echo %Name%
Gruß
okidoki
Mitglied: colinardo
05.08.2013, aktualisiert um 13:04 Uhr
Hallo okidoki,
die letzte Zeile der VBS in wscript.echo BrowseForFile ändern
>>%temp%\msgbox.vbs ECHO wscript.echo BrowseForFile
01.
@ECHO OFF & SETLOCAL 
02.
 >%temp%\msgbox.vbs ECHO Function BrowseForFile() 
03.
>>%temp%\msgbox.vbs ECHO With CreateObject("WScript.Shell") 
04.
>>%temp%\msgbox.vbs ECHO Dim fso : Set fso = CreateObject("Scripting.FileSystemObject") 
05.
>>%temp%\msgbox.vbs ECHO Dim tempFolder : Set tempFolder = fso.GetSpecialFolder(2) 
06.
>>%temp%\msgbox.vbs ECHO Dim tempName : tempName = fso.GetTempName() ^& ".hta" 
07.
>>%temp%\msgbox.vbs ECHO Dim path : path = "HKCU\Volatile Environment\MsgResp" 
08.
>>%temp%\msgbox.vbs ECHO With tempFolder.CreateTextFile(tempName) 
09.
>>%temp%\msgbox.vbs ECHO .Write "<input type=file name=f>" ^& _ 
10.
>>%temp%\msgbox.vbs ECHO "<script>f.click();(new ActiveXObject('WScript.Shell'))" ^& _ 
11.
>>%temp%\msgbox.vbs ECHO ".RegWrite('HKCU\\Volatile Environment\\MsgResp', f.value);" ^& _ 
12.
>>%temp%\msgbox.vbs ECHO "close();</script>" 
13.
>>%temp%\msgbox.vbs ECHO .Close 
14.
>>%temp%\msgbox.vbs ECHO End With 
15.
>>%temp%\msgbox.vbs ECHO .Run tempFolder ^& "\" ^& tempName, 1, True 
16.
>>%temp%\msgbox.vbs ECHO BrowseForFile = .RegRead(path) 
17.
>>%temp%\msgbox.vbs ECHO .RegDelete path 
18.
>>%temp%\msgbox.vbs ECHO End With 
19.
>>%temp%\msgbox.vbs ECHO End Function 
20.
>>%temp%\msgbox.vbs ECHO wscript.echo BrowseForFile 
21.
for /f "delims=" %%i in ('cscript //nologo "%temp%\msgbox.vbs"') do set "Pfad=%%~dpi" & set "Name=%%~ni" & set "Typ=%%~xi" 
22.
del %temp%\msgbox.vbs 
23.
echo %Name%
Grüße Uwe
Bitte warten ..
Mitglied: OKIDOKI
05.08.2013 um 13:42 Uhr
Super Uwe, dankeschön!

Hoffentlich hilft es auch anderen.

okidoki
Bitte warten ..
Mitglied: OKIDOKI
04.04.2015 um 10:33 Uhr
Hallo zusammen,

nachdem Uwes Lösung die letzten 2 Jahre problemlos funtioniert hat, geht nun nichts mehr ...

Es folgt das Öffnen eines Editors mit der Meldung:

<input type=file name=f><script>f.click();(new ActiveXObject('WScript.Shell')).RegWrite('HKCU\\Volatile Environment\\MsgResp', f.value);close();</script>

Kann mir da jemand unter die Arme greifen?
okidoki
Bitte warten ..
Mitglied: 114757
04.04.2015, aktualisiert um 10:47 Uhr
Moin,
es folgt das Öffnen eines Editors mit der Meldung:
dann ist auf deinem System die HTA Dateierweiterung nicht mehr im Originalzustand bzw. das default Verb steht auf Bearbeiten anstatt Ausführen. Setze diese auf default zurück (kannst du dir aus einem Original Windows 7 abschauen).
Dabei hilft dir das Tool extman


Gruß jodel32
Bitte warten ..
Mitglied: OKIDOKI
04.04.2015 um 10:52 Uhr
... leider nein, steht schon auf 'open' ...
Gruß
Bitte warten ..
Mitglied: 114757
04.04.2015, aktualisiert um 11:00 Uhr
Zitat von OKIDOKI:

... leider nein, steht schon auf 'open' ...
Gruß
Dann ist das Open-Verb bzw. die Befehlszeile nicht mehr original oder dein Virenscanner blockt jetzt das Ausführen von HTAs, oder der IE ist korrupt, bzw. eher Sicherheitseinstellungen dort zu restriktiv eingestellt.
Bitte warten ..
Mitglied: OKIDOKI
04.04.2015 um 11:00 Uhr
Danke jodel32!
Hast de eventuell eine Alternative? Ich benötige den Dialog dennoch

Gruß okidoki
Bitte warten ..
Mitglied: colinardo
LÖSUNG 04.04.2015, aktualisiert 05.04.2015
Zitat von OKIDOKI:

Danke jodel32!
Hast de eventuell eine Alternative? Ich benötige den Dialog dennoch
Hallo OKIDOKI,
ich habe da eine Batch/Powershell-Kombinations-Variante für das "visuelle Auswählen" eines Pfades via FileOpen-Dialog
01.
@echo off 
02.
for /f "delims=" %%a in ('powershell -ExecutionPolicy ByPass -Command "&{[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') | Out-Null;$dlg = New-Object System.Windows.Forms.OpenFileDialog;if($dlg.ShowDialog() -eq 'OK'){return $dlg.Filename}}"') DO set "name=%%a" 
03.
echo %name%
Der Dialog lässt sich bei Bedarf natürlich auch noch anpassen, um z.B. die Dateifilter, initialer Pfad etc. festzulegen...

Grüße Uwe
Bitte warten ..
Mitglied: OKIDOKI
04.04.2015 um 11:33 Uhr
Prima, danke Uwe!!!

Eine Lösung vor Ostern zu finden hätte ich nicht gedacht - ich glaube an den Hasen, bestimmt!

Grüße
okidoki
Bitte warten ..
Ähnliche Inhalte
VB for Applications
VBS Datei Auswahl Dialog
gelöst Frage von 133202VB for Applications5 Kommentare

Hallo Ihr, im Thread: konnte ich schon finden, was ich gesucht habe: Jetzt möchte ich allerdings, dass am Anfang ...

VB for Applications

VBS oder Batch um eine Datei in Unterordner zu verschieben

Frage von MrRoyalVB for Applications1 Kommentar

Hallo zusammen, ich bin neu hier und kenne mich leider im Bereich VBS und Batch nicht so gut aus. ...

Windows 7

Dateien umbenennen Unterschiede in Win7 und XP

Frage von mani55Windows 73 Kommentare

Ein herzliches Hallo an alle ! Schweren Herzens bin ich nun von XP auf Win 7 Home Premium 64 ...

Batch & Shell

Dateinamen mehrere Dateien ändern mit batch oder vbs Skript

gelöst Frage von Doktore1Batch & Shell3 Kommentare

Hi frohes neues erstmal. Ich würde gerne alle Dateien in ein Ordner umbenennen. Und zwar ein Teil des Dateinamen. ...

Neue Wissensbeiträge
Server-Hardware
HP iLO ist gefährdet (iLO 4))
Tipp von AlFalcone vor 4 StundenServer-Hardware

Gemäss Twitter und Heise gibt es eine Angriffsmöglichkeit auf iLO iLO ist gefährdet Copyright © und alle Rechte liegen ...

CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 13 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

Heiß diskutierte Inhalte
Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung27 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...

Router & Routing
Subnetzmaske vergrößern
gelöst Frage von groovesurferRouter & Routing18 Kommentare

Hallo, hat jemand schonmal getestet was passiert, wenn man die Subnetzmaske bei laufendem Betrieb (wenn user im Netzwerk verbunden ...