Here are the U2 frames (attached, and XYENCoded below -- issue XYDECto decode in Xy4). CAll LFN-U2.FRM in XyWrite, DeFine the whole thing, and issue ADD2U2 to add it to your loaded U2 file. These routines are for Xy4-DOS running under 32-bit Windows. I haven't written a Help screen yet, and the video http://youtu.be/LMW6DZlIO6E doesn't illustrate all of the possibilities. A notable one is that LSA[/NV] has point-and-shoot capability. In other words, you can put the cursor on a SFN DIR listing and issue LSA [d:\path\]long_filename to save the indicated file with a long-filename. Also, note that LDEL follows your default EP (Error Prompt) setting. If the first value of EP is 0 (command VA/NV EP1 to see what yours is), LDEL deletes the file without warning! For myself, I set EP1 to 1, to enable confirmation before DELeting (which is why I use LDEL/NV in the video). When I want to erase a file without confirmation, I use XyWrite's trusty old ERNV command, or the Xy4-and-later DEL/NV. I rewrote these routines using plain-vanilla Windows Command Extensions (enabled by default on most systems) to compute the SFN corresponding to the specified LFN. My hope is that they'll work on any (relatively) modern version of Windows, real or virtual. Feedback welcome. '%--_XYENCode_start-- {{5lca*,lcd*,ldel*,ldir*,lmd,lne*,lrd*,lsa*}}_[CLD_rev.8/9/14] '^~B'BXes_1'Q2'DX~ )~>~ ~="DIR"~> 'JM2.bdir/x'Q2~ ~ ',*','^~ >0~>',*','^',*', '^',*',_~ ',*',_Command'^',*',_~ ',*',_fully_qua lified_LFN'^',*',_~ ',*',_fully_quallified_SFN_(empty_i f_LFN_does_not_exist)'^',*','^',*',_Common'^~ ~ ~ ~>~ ~>',*','^~ ~>'JM2.GetPath'Q2',*','^~ +"\GETSFN.BAT" ~ >~ +"\GETSFN.OUT"~>',*','^~ 'BXern v_~ 'Q2'BXwait'Q2~ +"_goto_'.eof'^for_'/'/A_in_("+~ +")_do_echo_'/'/'?fs A>"+~ "~>',*','^'BXsa_'/07,~ 'Q2'BXwait'Q2',*','^'BX dos/nv/x/z_/c_cmd.exe_/c_~ 'Q2'BXwait'Q2',*','^'BXexist_ ~ 'Q2~ )~>',*','^~ ~ ~>~ <10~>~ ~>~ ',*','^~ +","+~ ~>'JM2.SVfile'Q2'BXwait'Q2',*','^~ ~="'^"~>~ ~ ~ ~>~< EI~>~ ~>',*','^~ ==0~>~ ~ ~ ~>',*','^~ ==~ -1~>~ +";~N"~>~ ~ ~< SX02,~ ~>~ ~ ',*','^~ <0~>~ ~>~ +"!3C;~N")<0~>~ +"\"~>~ ~ +~ ~>~ ~ +""""~>~ ',*','^',*','^',*',_CALL_|_DELete_|_CD_(ChD ir)_|_RD_(RmDir)'^~ ~="CA"'|~ ~="CD"'|~ ~ ="DEL"'|~ ~="RD"~>',*','^~ >0~>'BX~ _~< PV03~>'Q2~ )~>~ ~ +"_"+~ ~ >~ 'FF~ ~ ~ ~ ~ ~>~ +"~>"~>~ ~>~ ~="&"~> ~ ~ ~ ~>~ +"_"+~ ~>~ ~ ~ ~ +"_does_not_e xist"~>~ ~ ',*','^',*','^',*',_NEw_|_MD_(MkDir)'^~ ~="NE"'|~ ~="MD"~>~ <1~>',*','^~ ~="NE"~>~ ~ ~="/"~>~ ~ ~ ',*','^~ ~>~ 'BXsa_'/08,~< PV05~>'Q2'BXwait'Q2',*','^'BXdos/nv/x/z_/c_cmd.exe_/c_copy/y_~< PV05~>_~ >nul'Q2'BXwait'Q2~ ',*','^'BXca~ >0~>/~ ~ _~ 'Q2~ ~>~ ~ ~ ~ ',*','^~ ~="MD"~>'BXdos/nv/x/z_/c_cmd.exe_ /c_mkdir_~ 'Q2'BXwait'Q2~ ~ ~ ~ +"_already_exists"~>~ ~ ',*','^',*','^',*',_SAve_as _LFN'^~ ~="SA"~>~ >0~>~ ~>~< IF~ >1~>~ ~>~ ',*','^'DZ~ >0~>~ +"\'|LSAD'|.TMP"~>'BXsad/nv_~ 'Q2'BXw ait'Q2~ ~ <1~>~ 'BXdos/nv/x/z_/c_cmd.exe_/ c_copy/y_~ _~ >nul'Q2'BXwait'Q2~ ~ ~ ~="/NV"~>~ ~ ~ +"_exists._Over write_it?_(y|N)~>~ ~ )<>"Y"~>~ ~ ~ ~ ~ ~ ~ ~ ',*','^',*','^~ ~ +"_LongFileName "~> ~ ~B'^'^{{5bdir*}}_Display_DOS_dir_listings_in_XyWrite_(W in32',_after_BIGDIR.PM)_[CLD_rev.12/8/13]'^~B',*',_______Usage _BDIR[/switches]_[filespec] '^~ >0~>'BXes_1 'Q2'DX~ ',*','^~ ~>~ ~ ~ +~ +"/-n/-p"~>',*','^~<0~>~ ~ ~ ~>~ ~ >'JM2.GetPath'Q2',*','^~ +"\DIR.TMP"~>'BXernv_~< PV02~>'Q2'BXwait'Q2',*','^~ ~>~ +"'Q2"~>'BXd_xd=0'Q2',*','^~ +"\DIR.T0P"~>'BX ernv_~ 'Q2'BXwait'Q2~ 'BXsa_'/06,~ 'Q2'BXwa it'Q2',*','^~ ~>~ >0~>~ +"_"+~ ~>~ ',*','^~ +">"+~ +"'^del_"+~ +"'^"~>~ +"\D IRT0P.BAT"~>'BXsa_'/06,~ 'Q2'BXwait'Q2',*','^'BXdos/nv/x /z_/c_~ 'Q2'BXwait'Q2',*','^~ ~ 'BXexis t_~ 'Q2~ ~>~ 'BXp'Q2~ ',*','^~ ~ ~
'^~ 'BXernv_~ 'Q2'BX wait'Q2'BXernv_~ 'Q2'BXwait'Q2',*','^~ ~>'BX func_#~ 'Q2'BXdir/pa_~ 'Q2'TG'TF'YD'DF'BF'BF'DF'DN ~ ~ ~>~ ',*','^'BXme_~ 'Q2'BX wait'Q2'BXernv_~ 'Q2'BXwait'Q2',*','^'TF~ ~ 'BXse_"~J;X;X;X;X;X;X;X;X_"'Q2~ )~>~ ~ '^~ 'TG'TF~ ~ ~>~ ~ ~ ~< PRNo_window~>~B'^'^ '%--_XYENCode___end-- -- Carl Distefano cld@xxxxxxxx Attachment: LFN-U2.FRM
Description: Binary data