2016-06-09 11 views
0

ich eine Batch-Datei, die ein Element in einer Liste von Pfaden, aber der Explorer-Befehl arbeitete öffnet nicht (endgültig ist eine Liste von Pfaden) kann jeden Tellme, warum dies nicht Befehl arbeitetExplorer-Befehl funktioniert nicht in Batch-Datei

Es sendet die Nachricht: 'Explorer' wird nicht als interner oder externer Befehl, ausführbares Programm oder Batch-Datei erkannt.

setlocal enabledelayedexpansion 
set path=c:\users\user1\desktop 
set numz=0 
set /p go= 
for %%k in (%final%) do (
set /a "numz=!numz!+1" 
if [!numz!]==[%go%] (explorer %%k) 
) 
+0

Alternativ können Sie 'start %% k' oder generischer' start "" "%% ~ k%' – Stephan

+0

haben Sie versucht, den Explorer mit dem vollständigen Pfad aufzurufen? ("C: \ Windows \ explorer. exe ") – weberik

+0

* Lassen Sie mich den bekannten Pfad zu allen Anwendungen törichterweise entfernen, indem ich den PATH so ändere, dass er nur auf meinen Desktop verweist ... Warte, warum laufen Programme nicht außerhalb meines Desktop-Ordners? * @Stephan: Ja, hab ihn erwischt Deshalb habe ich meinen Kommentar gelöscht. –

Antwort

2

Sie haben die %path% Variable geändert. Tun Sie das nicht (verwenden Sie einen anderen Variablennamen). Windows verwendet die Variable %path%, um zu wissen, wo die ausführbaren Dateien zu finden sind. Da Sie diese Information gelöscht haben, kann Windows explorer.exe nicht mehr finden - daher die Fehlermeldung.

Gerne betrifft dies nur die aktuelle cmd Sitzung (und es ist Tochter-Prozesse). Ändern Sie den Variablennamen, schließen Sie das cmd Fenster, öffnen Sie ein neues und es sollte gut funktionieren.

+0

Vielen Dank das war das Problem .. – RedBelly

+0

gibt es noch Namen, die ich nicht ändern sollte? – RedBelly

+0

Eine ganze Menge von ihnen. In einem neuen 'cmd' Fenster geben Sie' set' ein (ohne Parameter). Da Sie keine Variablen festgelegt haben, werden Ihnen alle Systemvariablen angezeigt. (lese sie - einige von ihnen sind wirklich nützlich) – Stephan

Verwandte Themen