我有一个调用SVN转储的备份脚本,将stderr输出到文件然后将输出通过管道传输到7zip。
我现在必须使用批处理文件将此系统移植到Windows,但我似乎无法在一行中访问该文件两次,就像linux会让我一样,是否有其他语法?
svnadmin dump D:\Repo\example 2>> %logfile% | 7za a new.7z >> %logfile%
(上面只是一个例子)
在Windows中,如果我尝试这样做,我会收到一个错误,即文件已被访问。我怎样才能确保从svnadmin以及从7za到我的日志文件都出错?
答案 0 :(得分:3)
您还可以使用块直接将两者重定向到日志文件。
将带有1>>&2
的stdout重定向到stderr,然后将它们与括号组合,并将其与单个2>>
重定向到日志文件。
(svnadmin dump D:\Repo\example | 7za a new.7z 1>>&2 ) 2>> %logfile%
答案 1 :(得分:1)
这对我有用:
( svnadmin dump D:\Repo\example 2>> %logfile% | 7za a new.7z >> %logfile%.tmp ) & copy %logfile%+%logfile%.tmp