0

SourceSafe から特定のフォルダーのみの最新バージョンを自動的に取得するバッチ ファイルを作成しようとしています。

ファイルの場所:

SourceSafe は C ドライブにインストールされています。

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

users.txt と um.dat を含むデータ フォルダーは、ネットワーク上の共有にあります。

//サーバー(便宜上、このフォルダーをドライブX:にマップしました)

.BAT ファイル:

@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

X ドライブを検索する必要があるときに、C ドライブでこれらのファイルを検索しているようです。問題のファイル (um.dat と users.txt) を X ドライブから C ドライブのその場所に移動しようとしました。バッチ ファイルは実行されますが、最新バージョンを取得できません。

誰かがこれを理解するのを手伝ってくれたら、とても感謝しています!

4

2 に答える 2

0

ほとんどの場合、問題は=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
于 2013-10-10T15:42:03.990 に答える