微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

处理软件使用的文件时如何避免I / O错误32

我有一些科学仪器,有些软件可能会有些不尽人意的地方,但它是专有的,我无法改变软件的工作方式。 所以我正在努力玩它。

这是我的设置:

该软件创build一个文本文件来存储数据。 随着每一个新的观察(每10秒)它追加最新的观察文本文件。 我想将文件保存到一个共享的networking驱动器,以便我可以在其他计算机上即时获得最新的文件访问权限。 但是,如果笔记本电脑连接到networking驱动器的时间很短,而软件试图写入该文件,则软件将中断,之后所有观察结果都将丢失到networking空间中。 我得到I / O错误103。

所以这是一个我已经写好的小batch file,先将数据保存在硬盘上,然后定期复制:

批处理 – 仅在第二次运行时才可以工作

如何在Windowsbatch file中使用引号处理variables值

Windows批处理循环通过文件夹中的文件并parsing文件

Windows:build立文件关联到batch file

文件添加到类path或在batch file中循环?

set /p name= File name (without ".txt"): set source= C:UsersAdminDesktop%name%.txt set destination= Z:SKQ201701SBirk_dataO2%name%.txt :loop copy %source% %destination% timeout /t 10 goto loop

这是我的问题:

有时我得到I / O错误32.从我读过的,这是由于多个程序试图同时访问同一个文件。 所以我假设有时软件试图追加一个新的观察文件,而我的批处理脚本正在复制文件。 发生这种情况时,我收到错误消息。 我读过关于文件被访问时被locking,但也许这个软件在写入时不locking文件? 我不确定…

我怎样才能避免这种情况发生? 到目前为止,我发现的所有答案都假设这两个过程都在用户的控制之下。 通常在同一批处理脚本中。 但在我的情况下,我无法控制专有软件。

我在Windows 7上。任何想法?

使用DOS Batch脚本获取特定文件的父目录名称

从Windows批处理脚本自动cachinggit凭据?

函数退出批处理脚本

在Windows命令脚本中为/ f“系统找不到文件

Windows命令在cmd中工作,但不在.bat文件

@ECHO OFF SETLOCAL set /p name= File name (without ".txt"): set source= C:UsersAdminDesktop%name%.txt set destination= Z:SKQ201701SBirk_dataO2%name%.txt :loop FOR %%a IN (%source%) DO SET fsize=%%~za :: wait until size of actual file increases :monitor timeout /t 1 FOR %%a IN (%source%) DO IF %fsize% geq %%~za GOTO monitor :: a little time to stabilise timeout /t 1 copy %source% %destination% goto loop

由于临界点是当软件附加到文件,那么filsize会增加,所以只需等待文件大小增加,然后复制,因为下一次增加不是因为10秒…

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐