К сожалению, Copy
не выводит это сообщение как StdErr
.
Ранее XCopy
предлагалось в качестве альтернативы. См. этот вопрос для получения дополнительной информации, однако вот вам быстрая идея:
( Copy /Y "FileExist01.txt" "NewFile01.txt"
Copy /Y "NoFile02.txt" "NewFile02.txt"
Copy /Y "FileExist03.txt" "NewFile03.txt"
Copy /Y "NoFile04.txt" "NewFile04.txt"
)|FindStr /VRC:"^ ">"CopyError.log"
Теперь, как и в случае с вашим намеченным методом, это не скажет вам, какая из команд фактически выводитсообщение. Если вы хотите сделать это, вы можете, я полагаю, вывести номер строки:
( Copy /Y "FileExist01.txt" "NewFile01.txt"
Copy /Y "NoFile02.txt" "NewFile02.txt"
Copy /Y "FileExist03.txt" "NewFile03.txt"
Copy /Y "NoFile04.txt" "NewFile04.txt"
)|FindStr /VRNC:"^ ">"CopyError.log"
Здесь к ошибке следует добавить номер, в данном случае:
2:The system cannot find the file specified.
4:The system cannot find the file specified.
По крайней мере, тогда вы сможете увидеть, что ваши 2
и 4
команды копирования потерпели неудачу.