*
* RENAME.DYNAMIC.FILES
*
* 12-07-23 smt this program renames dynamic files whose DIC and data portions
* came from commercial QM
* it changes %0, %1, etc to ~0, ~1
* commercial QM changed to % from ~ because it was found that
* some cleanup tools assumed that these were temporary files.
* you need to be logged in the account that needs changing
*
PROMPT ''
CUR$PATH = @PATH
ACCT$NAME = @WHO
USR$ = @USER
CRT @(-1):\RENAME.DYNAMIC.FILES\
CRT @(00,02):\You MUST be logged onto the account needing 'renaming'\
CRT @(00,03):\Current path is \:CUR$PATH
CRT @(00,04):\Current account is \:ACCT$NAME
CRT @(00,05):\Logged in as \:USR$
CRT @(00,06):\'Q'uit, 'T'rial run or 'U'pdate \:;INPUT DIO:
DIO = OCONV(DIO,"MCU")
BEGIN CASE
CASE DIO = "T" ; DO$UPD = 0
CASE DIO = "U" ; DO$UPD = 1
CASE 1 ; STOP
END CASE
OPEN \VOC\ TO VOC.FL ELSE STOP 201,\VOC\
DELM$ = @DS
IF DELM$ <> "/" THEN
CRT
CRT \This program is expecting Linux\
STOP
END
VERB = \SSELECT VOC WITH F1 = "F"\
EXECUTE VERB CAPTURING RESULT
IF SYSTEM(11) THEN
SELECTE TO ITEMID.LIST
END ELSE
CRT
CRT \No items found after performing:\
CRT VERB
CRT \<Enter> \:;INPUT DIO
STOP
END
LOOP
READNEXT
VOC.ID FROM ITEMID.LIST ELSE EXIT
IF
VOC.ID[1,1] NE "$" THEN
READ VOC.REC FROM VOC.FL,
VOC.ID THEN
CRT CUR$PATH:@DS:
VOC.ID ANY$SUBFL = DCOUNT(VOC.REC<02>,@VM) ; * ex: AP-ACCTS/CONTACTS]AP-ACCTS
FOR II = 1 TO ANY$SUBFL
SUB$FL = VOC.REC<02,II> ; * ex: AP-ACCTS/CONTACTS
LONG$FL = CUR$PATH:@DS:SUB$FL ; * ex:/home/qm/ACC-SYS/AP-ACCTS/CONTACTS
VERB = \ls -la \:LONG$FL ; * ex: ls -la /home/qm/ACC-SYS/AP-ACCTS/CONTACTS
OS.EXECUTE VERB CAPTURING RESULT
NUM$ROWS = DCOUNT(RESULT,@AM)
FOR JJ = 1 TO NUM$ROWS
VAL$ = TRIM(RESULT<JJ>)
IF INDEX(VAL$,"%",1) THEN
CONVERT " " TO @VM IN VAL$
NUM$VM = DCOUNT(VAL$<01>,@VM)
CHK$FL = VAL$<01,NUM$VM>
IF INDEX(CHK$FL,"%",1) THEN
CRT NUM$VM:" ":VAL$
DT$PORTION = OCONV(CHK$FL,"MCN") + 0
* ex: mv /home/qm/ACC-SYS/AP-ACCTS/%0 /home/qm/ACC-SYS/AP-ACCTS/~0
VERB = "mv ":LONG$FL:@DS:CHK$FL:" ":LONG$FL:@DS:"~":DT$PORTION
IF DO$UPD THEN
OS.EXECUTE VERB CAPTURING STUFF
END ELSE
CRT VERB
END
END
END
NEXT JJ
NEXT II
END
END
REPEAT
END
One quick question. I moved the account from commercial QM.