#windows #logging #batch-file #redirect
#Windows #ведение журнала #пакетный файл #перенаправление
Вопрос:
У меня есть скрипт резервного копирования, который вызывает SVN dump, выводит stderr в файл, а затем передает вывод в 7zip.
Теперь мне нужно перенести эту систему на Windows, используя пакетный файл, но, похоже, я не могу получить доступ к файлу дважды в одной строке, как мне позволит linux, есть ли альтернативный синтаксис?
svnadmin dump D:Repoexample 2>> %logfile% | 7za a new.7z >> %logfile%
(выше приведен только пример)
В Windows, если я пытаюсь это сделать, я получаю сообщение об ошибке, что к файлу уже осуществляется доступ. Как я могу убедиться, что получаю ошибку как от svnadmin, так и от 7za в мой файл журнала?
Ответ №1:
Вы также можете использовать блок для перенаправления обоих непосредственно в файл журнала.
Перенаправление стандартного вывода с помощью 1>>amp;2
на stderr, а затем объединение обоих с помощью круглой скобки и перенаправление его одним 2>>
в файл журнала.
(svnadmin dump D:Repoexample | 7za a new.7z 1>>amp;2 ) 2>> %logfile%
Ответ №2:
Это помогает мне:
( svnadmin dump D:Repoexample 2>> %logfile% | 7za a new.7z >> %logfile%.tmp ) amp; copy %logfile% %logfile%.tmp