我有一个备份脚本,调用SVN转储,输出stderr到一个文件,然后pipe输出到7zip。
我现在不得不将这个系统移植到使用batch file的窗口,但我似乎无法访问文件两次在一行像Linux会让我,是否有一个替代语法?
svnadmin dump D:\Repo\example 2>> %logfile% | 7za a new.7z >> %logfile%
(以上只是一个例子)
在Windows中,如果我尝试这样做,我得到一个错误,该文件已被访问。 我怎样才能确保我从svnadmin,也从7za到我的日志文件都得到错误?
您也可以使用块直接重定向到日志文件。
使用1>>&2
将stdout重定向到stderr,然后将两者与括号结合,并将其重定向到单个2>>
到日志文件。
(svnadmin dump D:\Repo\example | 7za a new.7z 1>>&2 ) 2>> %logfile%
这对我来说是个窍门:
( svnadmin dump D:\Repo\example 2>> %logfile% | 7za a new.7z >> %logfile%.tmp ) & copy %logfile%+%logfile%.tmp