Visual SourceSafe - Получить последнюю версию с помощью команд пакетного файла

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

РАСПОЛОЖЕНИЕ ФАЙЛОВ:

SourceSafe установлен на моем диске C:

C: \ Program Files (x86) \ Microsoft Visual SourceSafe

Файлы users.txt и data, которые содержат um.dat, находятся в общей папке в сети:

// Сервер (я сопоставил эту папку на диске X: для удобства)

.BAT FILE:

@echo off

REM SET ENVIRONMENT VARIABLE TO LOCATION OF SS.EXE
PATH=%PATH%;C:\Program Files (x86)\Microsoft Visual SourceSafe

REM SET DIR TO THE DATA DIRECTORY I.E. LOCATION OF SRCSAFE.INI
SET SSDIR = X:

REM LOGIN DETAILS
SET SSUSER = Administrator
SET SSPWD = Password

REM SET THE CURRENT PROJECT
ss CP $/Development/Websites/MySite

REM GET LATEST FROM THESE FOLDERS (RECURSIVE)
ss Get $/App_Code -I -Y -R -W
ss Get $/App_Data -I -Y -R -W
ss Get $/Bin -I -Y -R -W
ss Get $/Images -I -Y -R -W
ss Get $/scripts -I -Y -R -W
ss Get $/styles -I -Y -R -W

pause

ПРОБЛЕМА:

Когда я запускаю файл, я получаю следующую ошибку:

Неверный путь DOS: C:\Program Files (x86)\Microsoft Visual SourceSafe\data\um.dat

Кажется, что эти файлы ищутся на моем диске C, когда он должен искать на диске X. Я попытался переместить файлы с проблемами (um.dat и users.txt) с диска X в это место на диске C. Пакетный файл будет запущен, но я не получу последнюю версию.

Если бы кто-то мог помочь мне понять это, я был бы очень благодарен!

2 ответа

Ты можешь попробовать

ss Get $/Development/Websites/MySite/App_Code -I -Y -R -W

вместо

ss Get $/App_Code -I -Y -R -W

Скорее всего, ваша проблема в том, что вы ставите пробелы вокруг = когда вы делаете set, Вы создаете переменную среды SSDIR =, который не совпадает с SSDIR=,

Вы можете увидеть это, выполнив в окне CMD следующее:

C:\> set HELLO = this
C:\> set HELLO=that
C:\> set HELLO
HELLO=that
HELLO = this

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

Sourcesafe будет искать переменную среды под названием SSDIRи это не то, что вы устанавливаете.

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

REM SET DIR TO THE DATA DIRECTORY I.E. LOCATION OF SRCSAFE.INI
SET SSDIR=X:

REM LOGIN DETAILS
SET SSUSER=Administrator
SET SSPWD=Password
Другие вопросы по тегам