2017-02-14 8 views
0

親ファイル:パラメータを子スクリプトにテキストファイルから渡す方法はありますか?

@echo off 
for /f %%a in (links.txt) do (
echo opening %%a 
call %%a 
) 
PAUSE 

TEST.BATテキストファイル:

Chrome.bat A 
links.txt

子ファイル:Chrome.bat

@echo off 
echo %1 
start C:\"Program Files (x86)"\Google\Chrome\Application\chrome.exe 

問題はChrome.batを取っていないですlinks.txt(すなわち "A")からのパラメータ。 Chrome.batのEcho文で「A」と表示されず、「Echo is off」と表示されています。誰でもソリューションを提供できますか?

答えて

1
for /f "delims=" %%a... 

あなたは区切り文字を指定しない場合は、行の最初のトークンが%%aに割り当てられます。デフォルトのトークンには、が含まれます。

詳細については、プロンプトからfor /?|moreを参照してください。

+0

こんにちは、上記のコードセットで動作しました。しかし、そのは、この ' SETLOCAL ENABLEEXTENSIONSをオフ@echo DisableDelayedExpansion セット/ A "INDEX = 0"/ F "delims =" %%(links.txt)でJは( \tがJ \tを%%エコーないため のために働いていません\tセット/ A「INDEX + = 1」 ) '(アプリケーションが起動していません) –

+0

「動作していません」は、問題の内容に関する情報を提供しません。あなたの改行がどこにあるかは分かりません。あなたのコードでは、単にファイルから読み込んだ行を 'エコーする 'だけです。それを実行したい場合は、ブロック内の括弧で区切られた1行に '%% J call 'が必要です。 – Magoo

+0

LBは改行 '@echo off'です。LB' setlocal EnableExtensions DisableDelayedExpansion'/fの "INDEX = 0" 'LB' delims = "%% J in(link.txt)do(' LB 'コールセット "$ BATCH [%% INDEX %%] = %% J" 'LB' set/A "INDEX + = 1" 'LB') '**アプリケーションは起動していません。私は終了コードを書くためにログファイルを生成することができるように配列のファイル。 –

関連する問題