Это - то, что я использовал:
::Date Variables - replace characters that are not legal as part of filesystem file names (to produce name like "backup_04.15.08.7z")
SET DT=%date%
SET DT=%DT:/=.%
SET DT=%DT:-=.%
, Если Вы хотите дальнейшие идеи для автоматизации резервных копий на архивы С 7 zip, у меня есть свободный/открытый проект, который можно использовать или рассмотреть для идей: http://wittman.org/ziparcy/
с использованием ByteArrayOutputStream и System.setXXX прост:
private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
private final ByteArrayOutputStream errContent = new ByteArrayOutputStream();
private final PrintStream originalOut = System.out;
private final PrintStream originalErr = System.err;
@Before
public void setUpStreams() {
System.setOut(new PrintStream(outContent));
System.setErr(new PrintStream(errContent));
}
@After
public void restoreStreams() {
System.setOut(originalOut);
System.setErr(originalErr);
}
примеры тестов:
Предыдущие версии этого ответа после тестов назывались System.setOut (null)
; Это причина того, что комментаторы ссылаются на NullPointerExceptions.
Вы можете установить поток печати System.out с помощью setOut () (и для в
и err
). Можете ли вы перенаправить это в поток печати, который записывает строку, а затем проверить это? Это может показаться простейшим механизмом.
(Я бы посоветовал на каком-то этапе преобразовать приложение в некую структуру ведения журналов, но я подозреваю, что вы уже знаете об этом!)