PDA

Просмотр полной версии : подправить bat файл


imajo.ati
07.02.2010, 06:14
Пожалуйста, помогите кто чем может:

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


вот тельце бат-файла:


:: starting entourage 0

@ECHO off
CLS

SET SELF_DIR=%~dp0
SET PHP_EXE=%SELF_DIR%etc\php-5.3.1 php.net\php.exe

TITLE et/0 - %DATE% %TIME%
START /D"%SELF_DIR%\et\0" /HIGH /B "%PHP_EXE%" et.php

в данном случае программа не исполнится и произойдёт открытие файла et.php по сопоставлению типов (у меня в текстовом редакторе открылся)
если передать программу без пробелов в пути и без кавычек, то всё работает как нужно - et.php передаётся указанной программе.

я так понял, я неправильно пользуюсь конструкцией start.
как в неё правильно передавать имя исполняемого файла, если в нём содержится пробел?
встроенный help не помог.

semmes
07.02.2010, 06:27
Используй короткое имя файла по стандарту 8.3 ака dos.
Dir /x тебе подскажет имя.
или путь с пробелом поставь в кавычки - "путь"

imajo.ati
07.02.2010, 06:39
Используй короткое имя файла по стандарту 8.3 ака dos.
Dir /x тебе подскажет имя.

короткое имя помогло - всё заработало.
но короткое имя не содержит пробелов, а хотелось бы с пробелом передать.

или путь с пробелом поставь в кавычки - "путь"
в скрипте в кавычках стоит.. дело в том что если даже путь без пробелов поставить в кавычки - не работает, как надо.
ещё пробовал ставить значение пути в кавычки при объявлении переменной - тот же эффект.
можешь на примере показать, если не лень? видимо я тебя неправильно понял.