команда вызова для сценария летучей мыши не работает

По сути, у меня есть два сценария .bat, которые отлично работают по отдельности, однако я хотел объединить эти два сценария в одно действие, так как оно назначено на горячую клавишу, и я хочу, чтобы все это выполнялось одним нажатием клавиши, а не два, но у меня проблемы, потому что скрипты находятся в разных каталогах.

Ниже приведены два моих сценария:

BLAH-Script.bat

  RE4_UHD_BLAH_Tool.exe -pDEL/F/S/Q/A "F:  r101  r101_09.AEV"  

и второй скрипт:

UDAS_TOOL.bat :

  DEL/F/S/Q/A "F:  st1  rl01.udas" пинг -  n 1 localhostDEL/F/S/Q/A "F:  UDAS Tool  r101.udas" UDAS_Tool.exe -p  

Теперь оба они отлично работают сами по себе потому что каждый из скриптов вызывает .exe, который находится в том же DIR, что и вызывающий их скрипт, но попытка поместить их в один .bat-файл не сработала с использованием функции CALL , потому что один из сценариев существует во внешнем каталоге.

Я попытался создать новый сценарий .bat, который выполнял бы оба сценария bat за один:

  call "F:  pack  BLAH  -Script.bat "ping -n 1 localhostcall" F:  pack  UDAS  UDAS_TOOL.bat " 

Однако это не работает. Файлы не упаковываются с помощью инструментов exe как и предполагалось.

Чтобы попытаться выяснить проблему, я добавил команду pause между скриптами:

  call  "F:  pack  BLAH-Script.bat" pausecall "F:  pack  UDAS_TOOL.bat"  

Эта команда позволила мне прочитать вывод до закрытия окна и выдал виновного. В первом скрипте возникает следующая ошибка:

F: UD — r101 -> RE4_UHD_BLAH_Tool.exe -p’RE4_UHD_BLAH_Tool.exe ‘is не распознается как внутренняя или внешняя команда, действующая программа или пакетный файл.

Я считаю, что происходит то, что каждый файл работает нормально, если запускается в своем собственном каталоге, потому что они находятся в том же DIR, что и вызываемый .exe, но первый .bat-файл не будет выполняться, потому что третий bat-файл (тот, который вызывает первый и второй) не находится в том же DIR, что и первый .

Я пробовал:

  CD/D "F:  pack" call "F:  pack  BLAH-Script.bat" pauseCD /D "F:  pack" вызывает "F:  pack  UDAS  UDAS_TOOL.bat"  

с той же ошибкой. Как мне отсортировать каталоги?


Теоретически вы можете просто полностью указать путь к исполняемому файлу или убедиться, что исполняемые файлы расположены по пути .

Однако некоторые программы предполагают , что исполняемый файл находится в текущем каталоге, и ожидают, что файлы конфигурации и т. д. аналогичным образом находятся в этом каталоге, поэтому я бы сделал следующее:

в каждом пакете после церемонии инициализации (@echo off/setlocal … ) добавьте

  pushd "actalexcutablelocation"  

и убедитесь, что при выходе из пакета

  popd  

выполняется для восстановления в исходный каталог.

pushd переключатели текущий каталог в назначенный каталог до тех пор, пока не будет выполнено popd для возврата к исходному.



Почему не « call »в пакетном файле Windows 7?

У меня есть файл .bat , который содержит

   вызовите "c:  my path  myprog.exe"  

, но в командной строке указано, что call не является командой.


Вызов не предназначен для запуска других подобных программ, он предназначен исключительно для вызова других командных файлов. Вы, вероятно, захотите start , если ваша программа запускает другое окно, иначе просто введите команду в одной строке.

например,

  запустить calc.exe "C:  Stuff  Program.exe" 

2


«c: my path myprog.exe» без СТАРТА или вызова для выполнения вашего myprog.exe. вот как это делается в Windows 7

Оцените статью
clickpad.ru
Добавить комментарий