0

以下の 6 つの異なるバット スクリプトで共有され、入力引数を取るコードがあります。この部分を別のバット スクリプトで外部化して、代わりにインポートできるのではないかと考えているので、このコードを更新するたびに、6 つのバット スクリプトすべてを更新する必要はありません。

コード:

:Loop
IF "%1"=="" GOTO Prompt
  SET VAR=%1
  GOTO Continue
SHIFT
GOTO Loop
:Prompt
  set /p VAR="Check which value? "
  GOTO Continue
:Continue
4

2 に答える 2

0

はい、リダイレクトを使用します。

このsolution.batファイルを取ります

    set /p myvar=< somestring.txt

somestring.txt に「abc」が含まれている場所

myvar は、abc を持つ環境変数として存在するようになります。

于 2012-12-04T22:33:18.407 に答える
0

あなたのコードは VAR を最初の引数に設定することになっています。最初の引数が欠落している場合は、値を求めるプロンプトが表示されます。

まず、ロジックを単純化します。

set "VAR=%~1"
if not defined VAR set /p "VAR=Check which value? "

上記のように単純化すると、コードを外部化する必要があると感じる理由がわかりません。しかし、それは可能でした。

メインスクリプトで

call getArg.bat %1

そしてここに getArg.bat があります

set "VAR=%~1"
if not defined VAR set /p "VAR=Check which value? "
exit /b
于 2012-12-04T23:28:33.310 に答える