我在使用简单的Windows脚本时遇到了困难。这将检查当前目录,将(假定为2个)文本文件的名称存储在一个数组中,然后运行fc进行比较,将输出汇总到一个文本文件。
@echo off
setlocal enableDelayedExpansion
IF EXIST comparison.txt del /F comparison.txt
set filename=
set /a N=0
for /f "tokens=* delims= " %%a in ('dir /b *.txt') do (
set /a N+=1
set v[!N!]=%%a
)
fc %v[1]% %v[2]% > comparison.txt
当我运行此操作时,我收到错误消息"该进程无法访问该文件,因为它正由另一个进程使用"。
我已尝试过将我完成的fc命令行写入另一个BAT文件然后调用但具有相同结果的变体(请注意,实际的fc代码在此处显示正确 - 它具有正确的文件名称和输出重定向目标)。在尝试运行BAT一次之后,如果我拉出交互式命令行并手动键入fc命令,我甚至会得到相同的错误。如果我在没有首先运行BAT的情况下键入命令,则不会发生这种情况。
这是在Win 7 x64,版本6.1.7601上。