Tip: use name function instead of cmd shell move - Printable Version +- QB64 Phoenix Edition (https://qb64phoenix.com/forum) +-- Forum: Chatting and Socializing (https://qb64phoenix.com/forum/forumdisplay.php?fid=11) +--- Forum: General Discussion (https://qb64phoenix.com/forum/forumdisplay.php?fid=2) +--- Thread: Tip: use name function instead of cmd shell move (/showthread.php?tid=1601) |
Tip: use name function instead of cmd shell move - doppler - 04-03-2023 It's not so obvious, but it's night/day difference using "name" function instead of cmd shelling out to "Move" a file. My main use of using the "name" function is to rename files inside of a directory. And so for a majority of others too. Things to remember be in one of the two directories. "CHDir" use the "..\name-of-file" to move to present or other directory (reversible command). ie: name "..\name-of-file" as "name-of-file". example moves other file in directory to present chdir. It's possible to rename the destination file to something else like: "new-name-of-file" Twice the work for a single function. PS. It really is night n day difference. Thought i would share. B4 you comment. Using name function to move is a benefit only to people who read deeply in the help records. RE: Tip: use name function instead of cmd shell move - RhoSigma - 04-03-2023 For sure that's something which many people are not aware of, although its mentioned at the Wiki page https://qb64phoenix.com/qb64wiki/index.php/NAME However, be careful that both paths are on the same drive or you risk a "Rename across disks" error. Not sure if this is still valid for QB64, but QBasic did error out when you tried to move a file from one to another drive. https://qb64phoenix.com/qb64wiki/index.php/ERROR_Codes RE: Tip: use name function instead of cmd shell move - doppler - 04-03-2023 (04-03-2023, 10:46 PM)RhoSigma Wrote: or you risk a "Rename across disks" error. Point taken. Better off using a program to move it off disk, and or rename it then. RE: Tip: use name function instead of cmd shell move - mnrvovrfc - 04-04-2023 This is for historical reasons. On Unix, and on MS-DOS beginning in v2, a directory is actually a file which only has information about other files. Therefore "renaming" a file inside a directory a child of the "root", to the computer is like changing a word in a text file. The "root" directory, however, was handled quite differently at least in MS-DOS; it had a limited number of entries stored directly into the FAT or something like that. It would have been irritating if M$ came up with "NAME" for QuickBASIC/BASIC PDS and it wasn't possible to move a file from one child directory to another, and instead had to copy to destination, verify destination and then delete source. Programmers would have insisted on the quirk which really isn't. |