2017-02-12 3 views
0

メインリストのすべてのエントリが改行で書き込まれますが、サブリストのすべてのエントリはコンマで区切られますファイル。サブリストの最初のエントリはタイトルです。何かのように:タイトル、エントリ、エントリごとに動的なエントリ数。初心者のミスで申し訳ありませんが、私はこれにはかなり新しいです。以前に尋ねられた場合は申し訳ありません(自分のようなものは見つかりませんでした)。リストとそのサブリストを表示するためのバッチファイルを作成しましたが、機能しません。

SETLOCAL EnableDelayedExpansion 
for /F "tokens=*" %%G in (list.txt) do (
    set chos=%%G 
    for /F "tokens=1 delims=," %%H in ("!chos!") echo %%H: 
    set chos=!chos:,=^ 

    ! 
    for /F "tokens=* skip=1" %%I in ("!chos!") echo - %%I 
) 
pause >nul 
+0

にも役立つだろうあなたのリストの例を提供します。時には説明だけでは十分な詳細が得られないことがあります。できるだけ多くの情報を提供することが常にベストです。バッチファイルのトラブルシューティングを行う場合は、エコーをオンにして、エラーを確認できるようにcmdプロンプトからバッチファイルを実行します。 – Squashman

+0

入力がどのように見えるのか、出力がどのように見えるのかを私に見せてもらえれば、このコードを数行短縮することができます。私はこのテクニックが以前から使われているのを見て、それをどのように短縮するかを教えてくれました。 – Squashman

答えて

0

あなたが「やる」欠場黒い画面が点滅します

for /F "tokens=1 delims=," %%H in ("!chos!") do echo %%H: 

をエコーする前に:私はこのようなルックスを書いていると私はそれが動作しない理由はわかりません何

バッチファイルにエラーがあるとcmd.exeでbatchfileを呼び出すと、エラーメッセージが表示されます。

編集:あなたはこの方法でそれを行うにもすることができます

@echo off&SETLOCAL EnableDelayedExpansion 
for /F "tokens=*" %%G in (list.txt) do (
    for /F "tokens=1,* delims=," %%H in ("%%G") do (
     echo %%H 
     for %%a in (%%I) do (
     echo -%%a 
    ) 
    ) 
) 
pause 
+0

ありがとうございますが、まだ3番目の理由は分かりません。 – Enexin

+2

@Enexinエコーの前に "do"を追加しますか? –

+2

@エネキシン - 真剣に!?すでに提供されている情報でその短い量のコードをデバッグできない場合は、他の人にプログラミングを残すことを真剣に考えてください。 – dbenham

関連する問題