Windows: скрипт / программа для USB-ключа, которая открывает консоль и устанавливает путь и рабочий каталог - PullRequest
4 голосов
/ 13 сентября 2011

Цель этого вопроса - создать переносимый скрипт / программу для Windows, которая помогла бы пользователям запускать (консольные) программы непосредственно с USB-ключа (хотя не обязательно через автозапуск).Сценарий / программа, таким образом, будет выполнять следующие действия при двойном щелчке по :

  • Запустить консоль (cmd сделает) и выдать командную строку DOS,
  • Установить текущий каталог на определенный каталог WorkingDir на USB-ключе (который содержит различные программы [Python]),
  • Установить путь, чтобы пользователь мог выполнить команду (python.exe)находится в другом каталоге ключей USB (чтобы пользователь мог запускать различные программы на Python, найденные в WorkingDir).

Все это основано на Portable Python , который включенUSB-ключ.Я также хотел бы иметь возможность просто поместить содержимое ключа на жесткий диск и использовать его оттуда.

Я попытался написать файл, содержащий команды, такие как:

PATH=..\"Portable Python 2.7.2.1\App":%PATH%
cd WorkingDir
cmd

но я не уверен, как это назвать, чтобы Windows запускала его (и поэтому я не смог увидеть, сработают ли эти команды).

Я не очень разбираюсь в DOS и Windows, поэтомулюбая помощь будет высоко ценится!

Ответы [ 2 ]

3 голосов
/ 13 сентября 2011

Вам необходимо создать два файла:

autorun.inf

[autorun]
open=cmd.exe "Python Console" /k autorun.cmd
action=Open Python Console...

autorun.cmd

@Echo Off
CD %~d0\WorkingDir
Path %Path%;%~d0\Portable Python 2.7.2.1\App

Фраза %~d0 обозначает диск, на котором находится командный файл, а именно букву флешки (E:).

Теперь я столкнулся с двумя небольшими сбоями.На моем USB-накопителе уже был скрытый системный файл autorun.inf только для чтения.Мне пришлось снять защиту с помощью следующей команды, прежде чем я смог ее отредактировать.

Attrib autorun.inf -r -s -h

Мой второй сбой: Windows 7 не запускается автоматически с USB-накопителя.Вы должны щелкнуть правой кнопкой мыши диск в проводнике и выбрать «Запустить консоль Python ...»

3 голосов
/ 13 сентября 2011

На самом деле, в окнах вы используете; для разделения путей :) И вы не должны использовать .. так. Вы можете использовать% CD%, чтобы получить текущий каталог и затем перемещаться по нему. И не используйте кавычки. Кроме того, вы можете поставить @ перед любой командой, которую вы не хотите выводить на консоль.

Вы можете поместить это в run.bat (это должно работать: P):

@PATH=%PATH%;%CD%\..\Portable Python 2.7.2.1\App
@cd WorkingDir
@cmd

А затем просто дважды щелкните по нему, и он откроет командную строку, как вы хотите. Или, может быть, вы можете добавить файл autorun.inf, чтобы открыть его автоматически.

...