进程无法访问该文件,因为在使用start打开最大化窗口时,其他进程错误正在使用该文件

时间:2017-03-04 07:05:44

标签: excel batch-file

我最近制作了一个代码来打开一个包含我的家庭作业信息的Excel电子表格。电子表格包含在名为" Homework"的文件夹中。完全靠自己。不幸的是,我得到了一个我希望电子表格打开最大化的点。我添加了一段应该使它工作的代码,但确实如此,但它在命令提示符下输入了这个错误

!this.state.barClubLounge

以下是我目前使用的所有代码:

The process cannot access the file because it is being used by another process

2 个答案:

答案 0 :(得分:0)

我发现了我搞砸的地方。这个过程没有检查过ile是否已经打开。一些快速的更改,我已经做了,所以过程正确检查并在必要时打开文件。

新代码:

@echo off
SET "stime=10:00:00.00"
SET "etime=16:00:00.00"
:start
tasklist /FI "IMAGENAME eq EXCEL.EXE" 2>NUL | find /I /N "EXCEL.EXE">NUL
if "%ERRORLEVEL%"=="0" (
set "running=true"
) else (
set "running=false"
)
IF %time% GEQ %stime% (
    IF %time% LEQ %etime% (
        IF %running%==false (
            for %%i in (G:\Homework\*) do start /MAX %%i
            GOTO start
        ) Else (
            GOTO start
            )
    ) ELSE (
        GOTO start
        )
) ELSE (
    GOTO start
    )

虽然这是有效的,但它不是理想的,我想知道是否有更好的方法使这段代码有效。

答案 1 :(得分:0)

也许是这样的?

@echo off
SET "stime=10:00:00.00"
SET "etime=16:00:00.00"
:start
tasklist /FI "IMAGENAME eq EXCEL.EXE" 2>NUL | find /I /N "EXCEL.EXE">NUL
if "%ERRORLEVEL%"=="0" (
   set "running=true"
) else (
   set "running=false"
)
IF %time% GEQ %stime% IF %time% LEQ %etime% IF %running%==false (
   for %%i in (G:\Homework\*) do start /MAX %%i
)
GOTO start
相关问题