以下の表面的にシンプルなスクリプトが機能するように、2日間試してきました。
for /F "eol=*" %%A in (c:/users/SCTMP000/server.txt) do (echo %%A)
これ自体が目的のコードの削減であり、各ドメインに対してPING
/ TRACERT
コマンドを発行し、出力を別のテキストファイルにパイプするために、ドメインのリストである上記のテキストファイルをスクロールするつもりでした。しかし、この単純なワンライナーでさえファイルを処理しません。
MSDN、StackOverflow、このサイト、および多くの個人開発者ブログで上記の無数のバリエーションを見てきましたので、私は正しい球場にいると感じますが、私のものは機能しません!ファイル名とそのパスのレンダリング方法(つまり、引用符なし、単一引用符でラップ、二重引用符でラップ)に応じて、次のように表示されます。
[引用なし]-なし:ファイルを開くアクティビティがないため、行ごとにECHOがありません
[二重引用符]-ECHOされたフルパス名、つまりc:/users/SCTMP000/server.txt
[単一引用符]-完全なファイルが実際にメモ帳で開きます!!
したがって、パスは正しいですが、スクリプトをバッチファイルとして実行したり、コマンドをインタラクティブに実行したりしても、実際にテキストファイルを開いてスクロールすることはできません。また、DELIMS、TOKENS、EOLなど、多くのラインオプションを試してみましたが、成功していません。
私は何を間違えていますか?前もって感謝します。
Explorer
またはNotepad
ファイルにアクセスすることができますが、あなたのCMD
インスタンスはできないのですか?問題を特定することをお勧めします。ファイルを別の場所に移動し、その場所に同じ名前で新しいファイルを作成し、別の場所で別のファイルを完全に試してください。問題は存在します(ファイル、パス、格納フォルダーなど)。
FOR
ループは何も出力しませんがNotepad
、ファイルを正常に開くことができます(先頭にスペースなどが表示される場合があります) 、ただし、すべて同じように開きます)。
for /f
DOSにはありません。CMDとDOSは全く異なるものです