2

.bat ファイルを .sh スクリプトに変換しようとしています。いくつかのパラメーターがスクリプトに渡され、そのうちの 1 つがハッシュ テーブルです。コードは次のようになります...

date /T
time /T

FOR /F "tokens=1-11" %%A IN (%4) DO (
   set args1=%%A %%B %%C %%D %%E %%F %%G %%H %%I %%J %%K
)
FOR /F "tokens=12" %%A IN ("%4") DO (
   set args2=%%A
)
FOR /F "tokens=12*" %%A IN (%4) DO (
   set dummy=%%A
   set args3=%%B
)

ここで何が起こっているのか、またはそれを処理する方法がわかりませんか?助言がありますか?または、私が見ることができるオンラインの良い参考ページはありますか?

4

1 に答える 1

2

ここに参考ページがあります: http://technet.microsoft.com/en-us/library/bb490909.aspx

壊す

最初のループは、入力をファイル名セットとして扱っています。

  • これは、最初の 11 個の空白で区切られた項目を variable に格納していますargs1

2 番目のループは、入力をリテラル文字列として扱っています。

  • これは、変数に 12 個の空白で区切られた項目だけを格納していますargs2

最後のループは、入力をファイル名セットとして扱っています。

  • これは、変数 の 12 番目の項目の後に、残りのすべての空白で区切られた項目を格納していますargs3

echo解析された値がどのように見えるかを確認できるように、各ループの後にコマンドを追加することをお勧めします。

FOR /F "tokens=1-11" %%A IN (%4) DO (
   set args1=%%A %%B %%C %%D %%E %%F %%G %%H %%I %%J %%K
)
echo %args1%
FOR /F "tokens=12" %%A IN ("%4") DO (
    set args2=%%A
)
echo %args2%
FOR /F "tokens=12,*" %%A IN (%4) DO (
   set args3=%%B
)
echo %args3%
于 2013-07-26T22:53:41.127 に答える