電子書籍の厳選無料作品が豊富!

よろしくお願いします。
OS:Windows Server 2003,Windows 2000 Server

MS-DOSコマンドによるバッチで、あるテキストファイル(.txt)内
を検索し、半角スペースがあった場合は半角スペースを
削除するというものを検討中です。
あるテキストファイルには、「Dir /s /a <ディレクトリパス>」(★)
の結果が出力されています。
http://okwave.jp/qa2630050.htmlの「その他問題点」の
 回避手段を考えています。

http://www.fpcu.jp/dosvcmd/bbs/log/cat3/cat54/4- …
参考にし下記のようにバッチを組みましたが、★の結果から
半角スペースを削除した内容になりません。
-------
set infile=%1
set outfile=%2
for /f "delims=" %%A in (%infile%) do call :sub "%%A"
goto :eof
:sub
set STR=%~1
set STR=%STR: =%
echo.%STR%>>%outfile%
-------

何がまずいのでしょうか?
<DIR>という文字列を含んでおり、"<" や ">" を考慮する
必要がある気はしていますが、どのように修正すればよいか、
なかなかうまくいきません。
修正点やアドバイスをいただけると幸いです。

A 回答 (1件)

やる人がいるとは思いたくありませんが, 「2個並んだ空白」が入っているファイル名があったりすると破綻しないかなぁと思いつつ:


server の方はわかりませんが, 手元の XP Pro では fc に /W ってオプションがあります.
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
>XP Pro では fc に /W ってオプションがあります.

 申し訳ありません。
 /W は、使用してみましたが、何も変化しませんでした。

お礼日時:2006/12/29 23:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!