0

Windowsの.batファイルのテクニカルサポートが必要です。トークンと変数をループするWin7batファイルの実行に問題があります。以下のスクリプトは私の妻のPCで動作し、すべてのPCで動作するはずですが、私のでは動作しません。

**MacのVMWareでWindows7を実行しています。

ファイルはcのルートにあります:

この短い小さなスクリプト、およびトークンを使用した他のスクリプトでは、エラーが発生します(以下のスクリプトを.batファイルからコピーしました)。

setLocal ENABLEDELAYEDEXPANSION
set SCHEMA_one= first
set SCHEMA_two= second
set SCHEMA_three= third

@ECHO ON
FOR /F "tokens=2* delims=_=" %%A IN ('set SCHEMA_') DO (
    echo "looping through " %%A
)
endLocal

次のエラーが発生します。

C:\>FOR /F "tokens=2* delims=_=" %A IN ('set SCHEMA_') DO (echo "looping through " %A )  
'set SCHEMA_' is not recognized as an internal or external command, operable program or batch file.

アイデア???

よろしくお願いします。私は何時間も立ち往生しています...

4

2 に答える 2

0

編集-私は答えを見つけました..完全なユーザーエラー..

ある時点で、COMSPEC 環境変数のパスが変更されたので、間違っていました!!!! タイプミスで!!! :/とても不自由。

新しい環境と古い環境の間で環境変数を比較しているときに、最終的にタイプミスに気付きました。男、1つのキャラクターに何時間も費やしました。以前は(今では明らかですが)それがバットコマンドに使用されるパスであることに気づきませんでした。なぜそれがまったく機能したのかわかりません(???)

================ まあ、私は修正に満足していません-それは大きなハンマーだったからです. しかし、新しい Windows 7 VM をインストールしたので、スクリプトを実行できるようになりました。以前に新しいバージョンの vm-3.1.4 (私の 3.1.2 からの最新の無料アップグレード) をインストールしましたが、問題は解決しませんでした。そしてその前に、私は上で提案したことを試しました(上に投稿してくれた人々に感謝します!)

私のWindowsインストールで何が台無しになっているのかわかりませんが、それは何かです..他のコンピューターと比較しましたが、環境引数はすべて良好に見えます。Java は良い、などです。その VM のユーザー アカウントについての何か、または ...? わからない。時間がなくなったので、先に進まなければなりませんでした。:)

私がそれを理解したら、答えを投稿します。それまでの間、この新しい VM をセットアップして、できれば作業を行う予定です。

乾杯!ダスティン

于 2012-05-16T04:37:20.360 に答える
0

for /?特に の使用について調べる必要があるかもしれませんusebackq。これにより、セットの解釈が変わる可能性があります。

さらに、必要に応じて環境が正確に設定されていることを確認するために、コマンドでも常に使用enableextensionsしています。setlocal

もう 1 つは、バッチ ファイルの 16 進ダンプを実行して、 と の間の文字が実際にスペースであることを確認することsetですSCHEMA。それが別のキャラクターである場合、cmdおそらくset.SCHEMA(.がその面白いキャラクターである場合) を 1 つのコマンドとして扱います。

于 2012-05-15T04:23:53.767 に答える