プロが教える店舗&オフィスのセキュリティ対策術

選択した複数のファイルの名称を取得する目的で、以下の内容のバッチファイルを作成し、(右クリック>送る) で使えるようにしています。
選択するファイル名が少なければ問題なく.txtが作成されるのですが、ファイル数が100を超えると(選択したファイルによって上限が変わる).txtが作成されなくなります。
バッチファイルの内容に問題があるのでしょうか?
アドバイスをお願いします。

:start
if "%~1"=="" goto end

dir /b %1 >> %TEMP%\List.txt

shift
goto start

:end

A 回答 (1件)

バッチファイルというのは、実際には、cmd.exe というプログラムが処理の主体です。


そして、右クリックで「送る」とした場合、最終的には、 cmd.exe file1 file2 .... という文が生成されて、これが実行されます。

で、cmd.exe が受け取れる文字数には、上限があります。(おそらく、8196文字)

http://support.microsoft.com/kb/830473/ja

で、この文字列を超えると、それ以降のファイル名が切り捨てられてしまうのだろうと思います。
    • good
    • 0

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