0

文字列の部分文字列を作成してcmdで出力しようとしていますが、実行できません。

set p=mnopq
for /L %a in (1,1,5) Do (
   set q=%p:~%%a%,1
   echo %q%
)

しかし、エラーが発生しています。これのトラブルシューティングを手伝ってください。事前に感謝します..

4

1 に答える 1

1

これには、遅延拡張機能が必要です(使用方法のヘルプをSETLOCAL参照してください)。cmd /?期待どおりに動作しない理由は、コマンドに続くforコマンドがパラメーターとして扱われるためです。%そのため、コマンドに使用されるものを除いて、ベース変数はすぐに展開されforます。

修正されたバッチ コマンドは次のとおりです。

@echo off
setlocal enabledelayedexpansion
set p=mnopq
for /L %%a in (1,1,5) Do (
  set q=!p:~%%a,1!
  echo !q!
)
于 2012-07-20T06:09:11.397 に答える