В последнее время я немного занимался с DOSbox, и одна конкретная задача, которую я выполнял, - настроить серию пакетных файлов для вызовов, чтобы я мог сохранить несколько cd дисков. Типичный файл .bat может выглядеть следующим образом:

cd wolf3d
wolf3d -goobers
cd ..

Одна вещь, которая стала немного раздражающей, - это отсутствие встроенного текстового редактора, который я могу использовать, например, Pico / Nano. Тем не менее, у меня действительно установлен QBASIC, поэтому одним из вариантов, который я рассматривал, была настройка, чтобы я мог сделать вызов, такой как следующий:

nano filename.bat

и это откроет файл в QBASIC.

Я немного прочитал о том, как работает пакетный сценарий, и кажется, что достаточно добавить %1 к сценарию, например, следующее:

cd qbasic
qbasic %1
cd ..

Однако в итоге получается, что если я наберу , скажем, nano nano.bat чтобы я мог редактировать командный файл, то вместо этого откроется новый пустой файл nano.bat .

Я пытался найти то, что мне здесь не хватает, но это кажется слишком загадочным, чтобы легко его найти. Кто-нибудь может указать, что здесь не хватает?

Спасибо!

2 ответа2

1

Чтобы уточнить немного, как в моем комментарии:

  • Если передать относительный путь в качестве аргумента в пакет, который сам изменяет текущую папку, произойдет сбой, если передача не относится к новой папке.
  • В качестве альтернативы передать абсолютный проход
  • или не меняйте текущую папку, если в этом нет необходимости. Qbasic - это отдельный .exe файл, который может быть куда-нибудь доступен по пути. Чтобы использовать его в качестве редактора, есть опция /Editor (только что проверил это в VDOS Plus - производная от DosBOX)

Так что измените ваш nano.bat на

@Qbasic.exe /Editor %1

при условии, что Qbasic.exe доступен через папку в пути.

0

Попробуйте двойной процент, т.е. %% 1. Пакетные файлы в DOS не совсем соответствуют тем же правилам, что и их эквиваленты в DOS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .