3

Информация, в которой вы на самом деле не нуждаетесь - Привет всем, Вам нужна помощь с приложением CMD, чтобы облегчить жизнь мне и многим другим ребятам. Мы будем перемещать папку, содержащую приложение, с места на место, и для его запуска необходим параметр, который имеет свое текущее местоположение. Реальная история начинается ниже - Спасибо за вашу помощь. :)

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

Работает так, у меня есть Install.cmd, который делает следующее.

echo off
set a= properties.txt
del %a%
echo %~dp0 >> %a%

properties.txt тогда выглядит следующим образом.

E:\Users\USER\Google Drive\_ACP\

ApplicationStart.cmd выполняет следующие действия.

(Set /p ROOT=
) <properties.txt
CALL %ROOT%\data\TOOLS\INIT.CMD

Беда в этом. Путь, который добавляется в properties.txt

E:\Users\USER\Google Drive\_ACP\ 

и для звонка на работу он должен быть (для размещения места в Google Drive)

E:\Users\USER\"Google Drive"\_ACP\

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

Являются ли они альтернативой %~dp0 дружественному к пространству папок? Я гуглил до тех пор, пока не могу больше не гуглить. :)

1 ответ1

1

Заключите переменную в кавычки, когда она расширяется:

call "%ROOT%\data\tools\init.cmd"

Или используйте более разумный язык, такой как PowerShell, JScript, VBScript (Windows поставляется со средами выполнения для всех трех) или, возможно, C #.

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