1

えーと、私はBATファイルを解析するスイッチを使用しています。これは次のようになります。

<commands> -a -b -x -y -z -u abc ......

ユーザーは多くのスイッチを入力することも、入力しないこともできます。そこで、ループシフトを使用して無限スイッチの解析を可能にしました。

:loop
IF "%1"=="-a"
...
SHIFT
GOTO loop

しかし、スクリプトが終了すると、常にcmdがスイッチを実行し、次のようなエラーが表示されます。

'-n' is not recognized as an internal...

それで、誰かが何か考えを持っていますか?どうもありがとう...P/ S:このスクリプトはWindowsを搭載したすべてのコンピューターを対象としているため、他の言語を使用すると依存関係の問題が発生する可能性があるため、可能であればソリューションをBATスクリプトに固執させてください。

最後に、もう一度感謝します=)

編集:shf301の提案を試しましたDEL %0が、以前は自分自身を削除していたことがわかりましたが、コマンド%0のために引数にシフトされているようです。SHIFT

4

1 に答える 1

0

ああ...ついに自分で解決しました〜私はDEL %0代わりにscirptのフルパスに置き換えました。そうすれ%0ばすべてが機能します。

于 2012-12-02T05:00:44.720 に答える