Проблема аргумента внешних инструментов Visual Studio - PullRequest
1 голос
/ 21 мая 2009

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

Раньше у меня было

cd "$(ProjectDir).."
for /f "tokens=2,3,4 delims=/ " %%a in ('date /t') do set bdate=%%c.%%a.%%b
pkzipc -add -overwrite -dir=current "Z:\Technology\VisualStudio2005\Project Zips\$(ProjectName)_%bdate%_%username%.zip" "$(ProjectDir)*"

Когда я пытаюсь использовать это как внешний инструмент, он "" оборачивается вокруг имени проекта и добавляет дополнительный \ on SolutionDirectory (я не уверен, хочу ли я, чтобы каталог проекта или решения шел вперед, ни один из них не работает) *

Код, который я пытаюсь использовать:

pkzipc -add -overwrite -dir=current Z:\Technology\VisualStudio2005\Project Zips\%2\%2_%bdate%_%username%.zip %1*

этот код не работает. Я думаю, что первая часть, удаляющая внешнюю часть "", отвечает, что оставляет лишний \ в конце переменной projectdir. Как я могу это исправить?

Ответы [ 4 ]

1 голос
/ 21 мая 2009

Я не уверен, что следую за вами (и прямого вопроса нет), но если у вас есть параметр, заключенный в кавычки, и вы хотите удалить их, вы можете использовать другую переменную:

set THEDIR=%1
set THEDIR=%THEDIR:"=%
0 голосов
/ 09 сентября 2009

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

0 голосов
/ 21 мая 2009

Возможно, вы неправильно указали внешний инструмент, вам нужно указать полный путь к pkzipc в поле Command: и указать аргументы в Аргументы: .
Кроме того, у вас нет доступа к параметрам скрипта, поэтому% 1% 2 не будет работать, ваше поле аргумента должно быть тогда:

-add -overwrite -dir=current "Z:\..\$(ProjectName)_%bdate%_%username%.zip" "$(ProjectDir)*"
0 голосов
/ 21 мая 2009

Вы также можете обрезать последний символ следующим образом:

SET SOMEVAR=%SOMEVAR:~0,-1%

Если кавычки и \ появляются в одной и той же переменной, вы можете сделать это вместо:

SET SOMEVAR=%SOMEVAR:~1,-2%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...