Как узнать каталог по умолчанию для пакетных файлов? - PullRequest
0 голосов
/ 03 февраля 2010

Я создаю командный файл для развертывания SharePoint. Пакет выполнит установку и настройку решений, создаст веб-приложение и восстановит файл .dat в созданном веб-приложении.

Вместо жесткого кода путь решения и .dat я хочу, чтобы пакет знал, что он находится на root. Поэтому, если я переместу эту папку куда-нибудь еще, мне не нужно будет обновлять пути.

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

Пример пакетного скрипта:

@SET STSADM="c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm"

Echo copy solution files ...
%STSADM% -o addsolution -filename SmilingGoat.SharePoint.WebParts.Rss.wsp
%STSADM% -o deploysolution -name SmilingGoat.SharePoint.WebParts.Rss.wsp -immediate -allowgacdeployment -allcontenturls

%STSADM% -o addsolution -filename ReturnOfSmartPartv1_3.wsp
%STSADM% -o deploysolution -name ReturnOfSmartPartv1_3.wsp -immediate -allowgacdeployment -allcontenturls

Echo creating Learning Pitch application ... 
%STSADM% -o unextendvs -url http://server:70

%STSADM% -o restore -url http://server:70 -filename 2010.02.03.dat -overwrite

IISRESET

PAUSE

Спасибо.

1 Ответ

2 голосов
/ 03 февраля 2010

Насколько я понимаю, %~p0 - это то, что вы ищете.

Например, если вы создаете файл, содержащий

echo %~p0
pause 

и запустить его из c:\temp, он выдаст "c: \ temp".

РЕДАКТИРОВАТЬ: На самом деле этот ответ в SO объясняет идею.

...