findstrに関して細かいとは言えませんが詳しく書いていたサイトが有りましたのね一度確認して頂けませんか
robocopy と findstr の組み合わせでの問題
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 サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
質問作成者が受け入れた回答
-
Anonymous
2022-08-13T12:09:11+00:00 ありがとうございます。
robocopyに関しては、問題はないと思います。robocopyは、キチンと仕事をやっていると思います。
エラーも出てはいません。どちらかと言うと、findstrの問題ではないかと考えています。
-
Anonymous
2022-08-13T12:05:07+00:00 robocopyが画面操作をしている
New File 6 E:\myFolder\テスト\aa1\ddddddddddddddddddddddddddddddddddddddddd.txt~~r100%
rn
この結果は
100% New File 6 E:\myFolder\テスト\aa1\ddddddddddddddddddddddddddddddddddddddddd.txt
これは、理解できます。
ddddddddddddddddddddddddddddddddddddddddd.txtを書き出した後、カーソルの位置を先頭に持ってきて
その位置に、100%を書き、且つ、次の行に移る。
同じ論法で、ファイル名の長いケースの場合、
New File 6 E:\myFolder\テスト\aa1\dddddddddddddddddddddddddddddddddddddddddddddd.txt~~r100%
rn
100% New File 6 E:\myFolder\テスト\aa1\dddddddddddddddddddddddddddddddddddddddddddddd.txt
このようになってもよいと思うのですが、実際は違います。
New File 6 E:\myFolder\テスト\aa1\dddddddddddddddddddddddddddddddddddddddddddddd.tx100%
気になるのは、DOSprompt画面で、ほぼ同じ位置に「100%」が現れていることです。
また、行頭から「New File」の間に、何かがありそうですが、確認する手段がありません。
よろしくサジェスチョンのほどお願いします。
-
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~~r100%
rnファイル名が長いときは、複数行に折り返されて、最終行の先頭に重なって上書き。
-
Anonymous
2022-08-13T07:50:16+00:00 Microsoftの公式ページにrobocopyに関するページがありました。
https://docs.microsoft.com/ja-jp/windows-server...
その中にエラーコードに関する内容があるので参考にしてみてください