次の方法で共有

robocopy と findstr の組み合わせでの問題

Anonymous
2022-08-13T06:57:15+00:00

robocopy+パイプ+findstrで robocopy の活用を、皆様の力を得て達成しました。

しかし、今回、findstrに関して、新たな問題に直面しました。

path及びfile名の長さが、113文字( ? 日本語が入ると、文字数でははっきり言えない)あたりを超すと、挙動がおかしくなるのです。

スクリーンショットを見ていただくと、左端の100%の表示が、所によって欠けています。右端(或いは中ほど)に来ています。

本当は、左端すべてに「100%」が表示されなければいけないのです。

バッチファイル(utf-8で保存)は

@cd \

@chcp 65001

@robocopy E:\myFolder F:\myBackUp /mir /DCOPY:DAT /fp /bytes /UNILOG:myLog.txt /TEE | findstr /C:"*EXTRA File" /C:"100%%"

@cmd /k

myLog.txt -------------------------------------------------------

    New File  		       6	E:\myFolder\テスト\aa1\ddddddddddddddddddddddddddddddddddddddddd.txt 

100%

    New File  		       6	E:\myFolder\テスト\aa1\dddddddddddddddddddddddddddddddddddddddddd.txt 

100%

    New File  		       6	E:\myFolder\テスト\aa1\ddddddddddddddddddddddddddddddddddddddddddd.txt 

100%

    New File  		       6	E:\myFolder\テスト\aa1\dddddddddddddddddddddddddddddddddddddddddddd.txt 

100%

    New File  		       9	E:\myFolder\テスト\aa1\ddddddddddddddddddddddddddddddddddddddddddddd.txt 

100%

    New File  		       6	E:\myFolder\テスト\aa1\dddddddddddddddddddddddddddddddddddddddddddddd.txt 

100%

|

|

  New Dir          3	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\ 

    New File  		       6	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\テストANSIb.txt 

100%

    New File  		       9	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\テストUTFb.txt 

100%

    New File  		   14458	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\テスト1.docx 

100%

  New Dir          2	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\ 

    New File  		       6	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\テストANSI1.txt 

100%

    New File  		       9	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\テストUTF1.txt 

100%

  New Dir          3	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\ 

    New File  		   14458	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\a.docx 

100%

    New File  		       6	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\S.txt 

100%

    New File  		       9	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\U.txt 

100%

  New Dir          2	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\ 

    New File  		       6	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\テストANSI1.txt 

100%

    New File  		       9	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\テストUTF1.txt 

100%

  New Dir          3	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\qq\ 

    New File  		       6	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\qq\テストANSIb.txt 

100%

    New File  		       9	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\qq\テストUTFb.txt 

100%

    New File  		   14458	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\qq\テスト1.docx 

100%

  New Dir          2	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\qq\rr\ 

    New File  		       6	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\qq\rr\テストANSI1.txt 

100%

    New File  		       9	E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\qq\rr\テストUTF1.txt 

100%

DOSpromptのダンプ------------------------------------------

100% New File 6 E:\myFolder\テスト\aa1\ddddddddddddddddddddddddddddddddddddddddd.txt

100% New File 6 E:\myFolder\テスト\aa1\dddddddddddddddddddddddddddddddddddddddddd.txt

100% New File 6 E:\myFolder\テスト\aa1\ddddddddddddddddddddddddddddddddddddddddddd.txt

100% New File 6 E:\myFolder\テスト\aa1\dddddddddddddddddddddddddddddddddddddddddddd.txt

        New File                   9        E:\myFolder\テスト\aa1\ddddddddddddddddddddddddddddddddddddddddddddd.txt100% 

        New File                   6        E:\myFolder\テスト\aa1\dddddddddddddddddddddddddddddddddddddddddddddd.tx100% 

100% New File 6 E:\myFolder\テスト\aa1\テストANSI1.txt

100% New File 9 E:\myFolder\テスト\aa1\テストUTF1.txt

100% New File 6 E:\myFolder\テスト\aa1\bb\テストANSIb.txt

100% New File 9 E:\myFolder\テスト\aa1\bb\テストUTFb.txt

100% New File 14458 E:\myFolder\テスト\aa1\bb\テスト1.docx

100% New File 6 E:\myFolder\テスト\aa1\bb\cc\テストANSI1.txt

100% New File 9 E:\myFolder\テスト\aa1\bb\cc\テストUTF1.txt

100% New File 6 E:\myFolder\テスト\aa1\bb\cc\dd\テストANSIb.txt

100% New File 9 E:\myFolder\テスト\aa1\bb\cc\dd\テストUTFb.txt

100% New File 14458 E:\myFolder\テスト\aa1\bb\cc\dd\テスト1.docx

100% New File 6 E:\myFolder\テスト\aa1\bb\cc\dd\ee\テストANSI1.txt

100% New File 9 E:\myFolder\テスト\aa1\bb\cc\dd\ee\テストUTF1.txt

100% New File 6 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\テストANSIb.txt

100% New File 9 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\テストUTFb.txt

100% New File 14458 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\テスト1.docx

100% New File 6 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\テストANSI1.txt

100% New File 9 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\テストUTF1.txt

100% New File 6 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\テストANSIb.txt

100% New File 9 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\テストUTFb.txt

100% New File 14458 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\テスト1.docx

100% New File 6 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\テストANSI1.txt

100% New File 9 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\テストUTF1.txt

100% New File 6 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\テストANSI1.txt

100% New File 9 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\テストUTF1.txt

100% New File 6 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\テストANSIb.txt

100% New File 9 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\テストUTFb.txt

100% New File 14458 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\テスト1.docx

100% New File 6 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\テストANSI1.txt

100% New File 9 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\テストUTF1.txt

        New File                   6        E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\テストANSIb.t100% 

        New File                   9        E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\テストUTFb.tx100% 

        New File               14458        E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\テスト1.docx100% 

        New File                   6        E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\テストANSI100% 

        New File                   9        E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\テストUTF1100% 

100% New File 14458 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\a.docx

100% New File 6 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\S.txt

100% New File 9 E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\U.txt

        New File                   6        E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\テス100%  1.txt 

        New File                   9        E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\テス100%  .txt 

        New File                   6        E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\qq\100%  ANSIb.txt 

        New File                   9        E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\qq\100%  UTFb.txt 

        New File               14458        E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\qq\100%  1.docx 

        New File                   6        E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\qq\r100%  トANSI1.txt 

        New File                   9        E:\myFolder\テスト\aa1\bb\cc\dd\ee\ff\gg\hh\ii\jj\kk\ll\mm\nn\oo\pp\qq\r100%  トUTF1.txt

これは、findstrの何かの設定を変えれば防ぐことができるのでしょうか?

尚、バッチファイル(ANSIにて保存)、DOSprompt(chcp 932)にてもやりましたが、挙動は同じでした。つまり 文字コードは関係ありません。

よろしくお願いいたします。

家庭向け Windows | Windows 10 | Windows Update

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2022-08-13T12:44:22+00:00

findstrに関して細かいとは言えませんが詳しく書いていたサイトが有りましたのね一度確認して頂けませんか

https://www.binarydevelop.com/article/windowsfi...

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

10 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2022-08-13T12:09:11+00:00

    ありがとうございます。

    robocopyに関しては、問題はないと思います。robocopyは、キチンと仕事をやっていると思います。

    エラーも出てはいません。どちらかと言うと、findstrの問題ではないかと考えています。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2022-08-13T12:05:07+00:00

    robocopyが画面操作をしている


        New File  		       6	E:\myFolder\テスト\aa1\ddddddddddddddddddddddddddddddddddddddddd.txt~~r 
    

    100% rn


    この結果は


    100% New File 6 E:\myFolder\テスト\aa1\ddddddddddddddddddddddddddddddddddddddddd.txt


    これは、理解できます。

    ddddddddddddddddddddddddddddddddddddddddd.txtを書き出した後、カーソルの位置を先頭に持ってきて

    その位置に、100%を書き、且つ、次の行に移る。

    同じ論法で、ファイル名の長いケースの場合、


        New File  		       6	E:\myFolder\テスト\aa1\dddddddddddddddddddddddddddddddddddddddddddddd.txt~~r 
    

    100% rn


    100% New File 6 E:\myFolder\テスト\aa1\dddddddddddddddddddddddddddddddddddddddddddddd.txt


    このようになってもよいと思うのですが、実際は違います。


            New File                   6        E:\myFolder\テスト\aa1\dddddddddddddddddddddddddddddddddddddddddddddd.tx100% 
    

    気になるのは、DOSprompt画面で、ほぼ同じ位置に「100%」が現れていることです。

    また、行頭から「New File」の間に、何かがありそうですが、確認する手段がありません。

    よろしくサジェスチョンのほどお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2022-08-13T08:15:30+00:00

    © ウィンドウズスクリプトプログラマ - Windows Script Programmer 2022


    robocopyが出力の画面操作をしてなければ、

    してる。

    CR ~~r

    LF ~~n

    新しいファイル		       4	a.txt~~r100%  ~~r~~n
    

    同一行の行頭に

    新しいファイル		       4	a.txt~~r
    

    100% rn

    ファイル名が長いときは、複数行に折り返されて、最終行の先頭に重なって上書き。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2022-08-13T07:50:16+00:00

    Microsoftの公式ページにrobocopyに関するページがありました。

    https://docs.microsoft.com/ja-jp/windows-server...

    その中にエラーコードに関する内容があるので参考にしてみてください

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません