locked file after "text > ..."

Aug 2, 2011
258
4
Berlin, Germany
Can someone explain me what I'm doing wrong?
After the 1st run of the script the file "C:\temp\ifitems.txt" is locked.
Probably I'm blind and it's an obvious thing.
Code:
>ver
TCC  14.03.52 x64   Windows 2008R2 [Version 6.1.7601]
>plugin
TCC: No plugins loaded
 
>..\array-demo.btm
setlocal
on        break cancel
on        errormsg pause error in line %_batchline
gosub        ifitems
text > "C:\temp\ifitems.txt"
setarray /r "C:\temp\ifitems.txt" ifitems
return
echo        8 elements
       8 elements
do        n = 0 to %@dec[%@arrayinfo[ifitems,5]]
echo 0: description
0: description
echo 1: duplex
1: duplex
echo 2: speed
2: speed
echo 3: shutdown
3: shutdown
echo 4: spanning-tree guard root
4: spanning-tree guard root
echo 5: spanning-tree portfast
5: spanning-tree portfast
echo 6: spanning-tree portfast edge
6: spanning-tree portfast edge
echo 7: spanning-tree bpduguard enable
7: spanning-tree bpduguard enable
pause
Press any key when ready...
endlocal
quit

>..\array-demo.btm
setlocal
on        break cancel
on        errormsg pause error in line %_batchline
gosub        ifitems
text > "C:\temp\ifitems.txt"
TCC: (Sys) \\osram.de\Net-BER\DV\TFTP\array-demo.btm [19]  The process cannot access the file because it is being used by another process.
 "C:\temp\ifitems.txt"
pause error in line 19
error in line 19^C
cancel

>handle -p tcc

Handle v3.46
Copyright (C) 1997-2011 Mark Russinovich
Sysinternals - www.sysinternals.com

------------------------------------------------------------------------------
tcc.exe pid: 2032 OSRAM_DE\Admin123456
    C: File  (RW-)   \Device\Mup\app-ber-netmon.ber.osram.de\tftp-root\20121207
   1C: File  (RW-)   C:\Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_fa396087175ac9ac
  160: Section       \Sessions\3\BaseNamedObjects\TakeCommand_7f0
  164: Section       \Sessions\3\BaseNamedObjects\SharememUAliasAdmin123456
  168: Section       \Sessions\3\BaseNamedObjects\SharememUFunctionAdmin123456
  16C: Section       \Sessions\3\BaseNamedObjects\SharememUHistoryAdmin123456
  170: Section       \Sessions\3\BaseNamedObjects\SharememUDirHistoryAdmin123456
  198: Section       \BaseNamedObjects\__ComCatalogCache__
  1A4: Section       \BaseNamedObjects\__ComCatalogCache__
  1AC: File  (R--)   C:\Windows\Registration\R00000000001e.clb
  1B4: File  (RW-)   C:\Windows\winsxs\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.17825_none_2b253c8271ec7765
  1C4: File  (R--)   C:\Temp\ifitems.txt
This is my "array-demo.btm":
Code:
@echo   on
setlocal
on      break cancel
on      errormsg pause error in line %_batchline

gosub   ifitems
echo    %@arrayinfo[ifitems,5] elements
do      n = 0 to %@dec[%@arrayinfo[ifitems,5]]
        echo %n: %ifitems[%n]
enddo
pause

:end
endlocal
quit

:ifitems

text > "%temp\ifitems.txt"
description
duplex
speed
shutdown
spanning-tree guard root
spanning-tree portfast
spanning-tree portfast edge
spanning-tree bpduguard enable
endtext

setarray /r "%temp\ifitems.txt" ifitems

return
 
Aug 2, 2011
258
4
Berlin, Germany
Thank you Steve, but no enhancement.

@echo on
setlocal
on break cancel
on errormsg pause error in line %_batchline
setdos /n0

gosub ifitems
echo %@arrayinfo[ifitems,5] elements
do n = 0 to %@dec[%@arrayinfo[ifitems,5]]
echo %n: %ifitems[%n]
enddo
pause
unsetarray ifitems
echo %@arrayinfo[ifitems,5] elements
del "%temp\ifitems.txt"

:end
endlocal
quit

:ifitems

text > "%temp\ifitems.txt"
description
duplex
speed
shutdown
spanning-tree guard root
spanning-tree portfast
spanning-tree portfast edge
spanning-tree bpduguard enable
endtext

setarray /r "%temp\ifitems.txt" ifitems

return


Code:
setlocal
on      break cancel
on      errormsg pause error in line %_batchline
setdos  /n0
gosub    ifitems
text > "C:\temp\ifitems.txt"
setarray /r "C:\temp\ifitems.txt" ifitems
return
echo    8 elements
  8 elements
do      n = 0 to %@dec[%@arrayinfo[ifitems,5]]
echo 0: description
0: description
echo 1: duplex
1: duplex
echo 2: speed
2: speed
echo 3: shutdown
3: shutdown
echo 4: spanning-tree guard root
4: spanning-tree guard root
echo 5: spanning-tree portfast
5: spanning-tree portfast
echo 6: spanning-tree portfast edge
6: spanning-tree portfast edge
echo 7: spanning-tree bpduguard enable
7: spanning-tree bpduguard enable
pause
Press any key when ready...
unsetarray ifitems
echo    -1 elements
  -1 elements
del    "C:\temp\ifitems.txt"
Deleting C:\temp\ifitems.txt
TCC: (Sys) \\osram.de\Net-BER\DV\TFTP\array-demo.btm [15]  The process cannot access the file because it is being used by another process.
"C:\temp\ifitems.txt"
pause error in line 15
error in line 15
endlocal
quit
 
May 20, 2008
3,515
4
Elkridge, MD, USA
I now verify identical behavior on WinXP SP3 (32b) with the 32b version of the same TCC build: 14.03.52. My suspicion is that SETARRAY /R does not close the file. Tried running under V13, but the /r option of SETARRAY is new to V14. However, it did create the file, and it could be deleted, which supports my suspicion of SETARRAY /R.
 
Similar threads
Thread starter Title Forum Replies Date
fpefpe How to? clipbboard is locked Support 3
C AVG says FTP.CFG is locked ? Support 1
J History file load hangs if file has complete garbage in it... Support 1
jdanielp Cannot step into and/or call another .bat file when debugging .bat file Support 2
thorntonpg file explorer - short cut keys Support 1
JohnQSmith New online help file wrong logo Support 7
Jay Sage WAD Possible Bug With OPTION Command With @FILE Support 5
samintz How to? swap endianness in a binary file Support 12
vefatica `Back quotes` - command line vs. batch file Support 5
fpefpe How to? batch file size Support 2
Jay Sage Issues With TCMD File Explorer Support 0
FreezerBurnt Help making a CMD and TCC compatible batch file Support 7
Joe Caverly @FILESIZE and NTFS File Stream Support 1
Joe Caverly Embedding an .EXE (or other file) into a .BTM Support 8
U Command help on file names Support 5
S Concatenate all playlists into 1 file Support 22
Joe Caverly Set a batch variable (%1 - %n) when TCC is executing a batch file Support 5
Joe Caverly Rename file that begins with Emoji Support 7
Joe Caverly PSHELL and NTFS File Streams Support 2
P Kill all other instances of tcc from a btm batch file Support 2
D ffind hangs on large file Support 18
Alpengreis Documentation Minor issue in help file for view /E Support 1
fpefpe batch file ending early Support 18
J Licesne file location Support 1
K robocopy cancelling batch file processing Support 28
Jay Sage TCMD Crashes with "tctoolbar /c /r file" Support 5
A Unable to pass batch file arguments unaltered Support 18
MikeBaas How to...extract a string from a .json-file? Support 10
vefatica LIBRARY and file name completion? Support 4
D What does the file "..\Everything\Run history.csv" store? Support 5
H Takecommand.pdf failed not a pdf file Support 6
Joe Caverly DIRectory Colorization in v25 Help File Support 0
C show file description? with dir? Support 8
D When copying/moving, appending " (2)" to filename when the target file already exist. Support 7
R How to? Dir specific file search patterns with spaces in the pathnames? Support 6
Joe Caverly _EXPANSION in help file Support 0
Stefan Hassel Installation file TC 24.02 Build 47 is actually version 25.00.1 Support 10
vefatica Are @FILEDATE[file] and @FILEDATE[file,u] ever different? Support 2
K_Meinhard Help file error Support 1
Joe Caverly JOBMONITOR in Help File Support 1
D btm file command line augments comparing for string or math. Support 12
A Documentation [Help file] OPTION "//" synopsis formatting issue Support 0
vefatica Can TCC complete this file name? Support 5
G tcedit ist not run in tc 24 file explorer Support 10
M How to set Path variable for non-executable file extensions in 4DOS Support 8
I zip /M fails to delete file after adding to zip file Support 2
Charles Dye Is the "File Associations" installer dialog working? Support 4
J File explorer handling from command line? Support 2
Joe Caverly v24 Help File - DATEMONITOR Support 1
MickeyF Why does this batch file give me 'unknown command "else"' error? Support 17

Similar threads