2016-06-09 3 views
0

у меня есть пакетный файл, который открывает элемент в списке путей, но команды проводника не работает (окончательный список путей) может кто-нибудь Tellme, почему эта команда разве работаеткоманда исследователя не работает в пакетном файле

его отправка сообщения: 'explorer' не распознается как внутренняя или внешняя команда, оперативная программа или командный файл.

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

В качестве альтернативы вы можете использовать 'start %% k' или более общий' start '"" %% ~ k% ' – Stephan

+0

Вы попробовали вызвать проводник, используя полный путь? (« C: \ Windows \ explorer. exe ") – weberik

+0

* Позвольте мне глупо удалить известный путь ко всем приложениям, изменив PATH, чтобы указать только на мой рабочий стол. Подождите ... Почему сейчас не запускаются программы за пределами моей рабочей папки? * @Stephan: Да, поймал , поэтому я удалил свой комментарий. –

ответ

2

Вы изменили переменную %path%. Не делайте этого (используйте другое имя переменной). Windows использует переменную %path%, чтобы знать, где ее искать. Поскольку вы удалили эту информацию, Windows больше не может найти explorer.exe - отсюда сообщение об ошибке.

С радостью, это касается только текущей сессии cmd (и это дочерние процессы). Измените имя переменной, закройте окно cmd, откройте новый, и он должен работать нормально.

+0

. Спасибо, что это была проблема. – RedBelly

+0

Есть ли еще имена, которые я не должен менять? – RedBelly

+0

Довольно много их. В новом окне 'cmd' введите' set' (без каких-либо параметров). Поскольку вы не задали никаких переменных, это показывает все системные переменные. (читайте их - некоторые из них действительно полезны) – Stephan

Смежные вопросы