Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file Windows批处理脚本:写入日志文件导致;由另一个过程使用;_Batch File_Svn_Tortoisesvn - Fatal编程技术网

Batch file Windows批处理脚本:写入日志文件导致;由另一个过程使用;

Batch file Windows批处理脚本:写入日志文件导致;由另一个过程使用;,batch-file,svn,tortoisesvn,Batch File,Svn,Tortoisesvn,我需要更新多个SVN工作副本。我想将其写入日志文件,但这是不可能的,因为一个SVN更新只需要几秒钟,而另一个可能需要几分钟 因此,我总是得到以下信息: The process cannot access the file because it is being used by another process. 我正在使用以下代码: @echo off echo. :: Setting Variables set SVN_BIN=C:\Program Files\TortoiseSVN\bin

我需要更新多个SVN工作副本。我想将其写入日志文件,但这是不可能的,因为一个SVN更新只需要几秒钟,而另一个可能需要几分钟

因此,我总是得到以下信息:

The process cannot access the file because it is being used by another process.
我正在使用以下代码:

@echo off
echo.

:: Setting Variables
set SVN_BIN=C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe
set LOG_FILE=D:\BatchScripts\logs\svn-update.log
set CMD_TITLE="SVNUpdate"
set SOURCE1=D:\www\upload.example.com\
set SOURCE2=D:\www\download.example.com\
set SOURCE3=D:\www\client.example.com\
::
::
echo. %DATE% %TIME% Updating %SOURCE1% using SVN... >> "%LOG_FILE%"
START "%CMD_TITLE%" "%SVN_BIN%" /command:update /path:"%SOURCE1%" /closeonend:1 >> "%LOG_FILE%"
::
echo. %DATE% %TIME% Updating %SOURCE2% using SVN... >> "%LOG_FILE%"
START "%CMD_TITLE%" "%SVN_BIN%" /command:update /path:"%SOURCE2%" /closeonend:1 >> "%LOG_FILE%"
::
echo. %DATE% %TIME% Updating %SOURCE3% using SVN... >> "%LOG_FILE%"
START "%CMD_TITLE%" "%SVN_BIN%" /command:update /path:"%SOURCE3%" /closeonend:1 >> "%LOG_FILE%"
::
echo. %DATE% %TIME% Operation complete. >> "%LOG_FILE%"
如何存档以写入日志文件?该脚本将使用Windows任务计划程序每5分钟执行一次


START
参数
/wait
没有帮助或解决问题,但它确实会大大减慢更新过程,因为它总是等待当前SVN更新完成,然后再开始下一次更新。这不是我想要的。

TortoiseProc.exe不是执行此任务的工具。对于这种自动化,应该使用
svn.exe
。阅读:

请记住,TortoiseSVN是一个GUI客户机,本自动化指南 演示如何使TortoiseSVN对话框显示以收集用户信息 输入。如果您想编写一个不需要输入的脚本,您可以 应该改用官方的Subversion命令行客户端


TortoiseProc.exe不是此任务的工具。对于这种自动化,应该使用
svn.exe
。阅读:

请记住,TortoiseSVN是一个GUI客户机,本自动化指南 演示如何使TortoiseSVN对话框显示以收集用户信息 输入。如果您想编写一个不需要输入的脚本,您可以 应该改用官方的Subversion命令行客户端


对每个源使用不同的日志?可能重复@Compo No,这是不同的问题。我说的是将某些内容重定向到日志文件。这篇文章讨论的是非关闭的TortoiseSVN过程。@LotPings也没有帮助。我已经尝试只记录
echo
,但这也已经存在问题。@Sebbo,您正在尝试使用交互式命令进程运行几个非交互式命令。我链接的帖子中的建议很明确,如果你想写一个不需要输入的脚本,你应该使用官方的Subversion命令行客户端。因此,我的建议是您尝试这样做并反馈结果。对每个源使用不同的日志?可能重复@Compo No,这是不同的问题。我说的是将某些内容重定向到日志文件。这篇文章讨论的是非关闭的TortoiseSVN过程。@LotPings也没有帮助。我已经尝试只记录
echo
,但这也已经存在问题。@Sebbo,您正在尝试使用交互式命令进程运行几个非交互式命令。我链接的帖子中的建议很明确,如果你想写一个不需要输入的脚本,你应该使用官方的Subversion命令行客户端。因此,我的建议是,您尝试这样做,并反馈结果。太好了-谢谢您提供的信息!如何获取
svn.exe
:太好了-感谢您提供的信息!如何获取
svn.exe