ファイルがきれいであれば、スクリプトは正常に実行されますが、そのほとんどにはいくつかのコメントがあります。内側の/* ... */
は、削除する必要のある他の駄目を除いてブロックします。複数のファイルに文字列を含む各行を処理する(Windowsバッチ)
は、だから私はただの文字列私が今持っているもの。ここlevel.waypoints
を持つ行を処理したい:
@echo off
setlocal enableDelayedExpansion
set findtext="level.waypoints"
for %%F in (*.gsc) do (
set "out="
set "i=x"
> "%%~nF.cfg" (
for /f usebackq^ tokens^=2^,4^,5^ delims^=[]^=(^)^;^"^ %%A in ("%%F") do (
if %%A neq !i! (
if defined out echo !out!"
set /a "i=%%A, j=0"
set "out=set flwp_!i! "!i!"
) else (
set /a j+=1
if !j! leq 3 (set "out=!out!,%%B") else set "out=!out!,%%C"
)
)
if defined out echo !out!"
set /a "fim=i+1"
echo set flwp_!fim! "eof"
)
)
私はこれらのループにfindstr %findtext%
を追加しますが、私は、多くの異なる方法でしようと試みで考えていましたしかし、まだ悲しいことに成功しなかった...あなたは私を助けてくれますか?
ありがとうございます!
を含む各
.gsc
ファイルの行を削除したい場合は、[編集](http://stackoverflow.com/でスクリプトを達成しようとしているかを説明してくださいposts/40093874/edit)あなたの質問!リバースエンジニアリングがなければ、あなたの意図を得ることはできません。 – aschipfl@aschipfl FORは完璧で、うまくいきます...私は文法をこの文字列の行だけに変更したいと思います。またはこれを実行する前にすべての* .gscファイルからeverylineを削除するスクリプトも動作しますが、これはよりシンプルになると思います。 – Hajas
'for/F'ループのセットを'( "%% F") 'から'( '' level.waypoints "%%〜F" ') 'に変更しようとしましたか?それはあなたが達成しようとしているものですか? – aschipfl