Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

MOVEDIR Does Not Keep the Directory Descriptions

Jun
1,092
48
I would have expected that MOVEDIR would copy any directory description in the source file to the destination file that it creates, but it doesn't. I just moved some photo directories, and the descriptions were lost.

Another problem I observed is that a source directory that ends with a backslash is not accepted ("The directory name is invalid"), even though it passes the ISDIR test. Such a specification is accepted for the destination directory. So this works

movedir Birthday_Party D:\photos\2025\

but this does not

movedir Birthday_Party\ D:\photos\2025\

This is an issue because I have TCC configured to append a backslash when completing directory names.
 
I would have expected that MOVEDIR would copy any directory description in the source file to the destination file that it creates, but it doesn't. I just moved some photo directories, and the descriptions were lost.

DESCRIPT.ION files, or streams?
 
I would have expected that MOVEDIR would copy any directory description in the source file to the destination file that it creates, but it doesn't. I just moved some photo directories, and the descriptions were lost.

Are you talking about a description for a directory, or descriptions for files?

MOVEDIR definitely does copy descriptions, unless it's a description in an NTFS stream being moved to a non-NTFS drive.

Another problem I observed is that a source directory that ends with a backslash is not accepted ("The directory name is invalid"), even though it passes the ISDIR test. Such a specification is accepted for the destination directory. So this works

movedir Birthday_Party D:\photos\2025\

but this does not

movedir Birthday_Party\ D:\photos\2025\

This is an issue because I have TCC configured to append a backslash when completing directory names.

Not reproducible here; TCC correctly identified the source as a directory, with or without the trailing \.

Any chance you have an alias for MOVEDIR? Or a plugin that's interfering or replacing the internal?
 
I see it too.

Code:
v:\> d test*
2026-05-26  17:59         <DIR>    test

v:\> movedir v:\test\ t:\
TCC: (Sys) The directory name is invalid.
 "V:\test\"
 
Thank you, Vince. From Rex's responses, I sometimes think that I'm running a different program.

Any chance you have an alias for MOVEDIR? Or a plugin that's interfering or replacing the internal?

No, when I run WHICH on it, the report is "movedir is an internal command".

Yes, I was talking about the description of the directory itself, using TCC descriptions. I thought that NTFS does not support descriptions of directories. (Per the help: NTFS Descriptions : If set, TCC uses the Comments field in the NTFS SummaryInformation stream for each file to hold its description, instead of the DESCRIPT.ION file. The advantages are that the description will always remain with the file regardless of what program copies, moves, or renames it. The disadvantage is that you cannot attach a description to directories.)

Now that you ask about the files, I did not look to see if any of the files had descriptions. The directories themselves definitely had descriptions, because I added them before I moved them and used the directory command to display them. And the descriptions were definitely gone from the newly created subdirectory in the destination location. I tested this several times to be sure that I was not imaging something.

The only thing I can think of that might be the source of the problem is that the source directory was in the local Dropbox tree. I don't otherwise have trouble with the descriptions. I just moved a file with a description to another directory, and the description went with it.

I just created a new directory in a regular folder, gave it a description, and created a file in it and gave the file a description. Then I ran MOVEDIR to move it to my temp directory. The folder and file were moved. The folder lost its description; the file retained it.
 
By the way, I just discovered that DESCRIBE is another command that does not recognize a directory name ending with a backslash, as filled in by file completion. I have to strip the trailing backslash.

I just wrote an alias replacement for the command that checks for a directory specification with a trailing backslash and deletes the last character before passing the spec to *DESCRIBE. I guess I could write a BTM replacement for MOVEDIR that would deal with its problems.
 
Last edited:
COPYDIR behaves the same way as MOVEDIR. (1) The first directory spec must not have a trailing backslash; (2) the description of the directory is not copied; and (3) the descriptions of files in the directory are copied.
 
If you're using the DESCRIPT.ION files, then the description of a directory would reside in its parent directory. I can certainly see how the topmost directory's description might get overlooked.
 
Weird, here I have no problems with the backslash ...

Nope it's correct only this way

Code:
movedir d:\test1 u:\

but NOT that way:

Code:
movedir d:\test1\ u:\
 
If you're using the DESCRIPT.ION files, then the description of a directory would reside in its parent directory. I can certainly see how the topmost directory's description might get overlooked.
I thought about that last night. And I wondered if a directory could have an NTFS alternate file stream. It can. I was surprised. And a stream attached to a directory is not preserved by MOVEDIR.

Code:
v:\> echo Hello world! > eshelp:hello.txt

v:\> d /: | head /n 3
2025-07-12  18:10         <DIR>    $RECYCLE.BIN
2026-05-27  10:27         <DIR>    eshelp
                               14    hello.txt:$DATA

v:\> movedir eshelp t:\

t:\> d /: t:\ | head /n 3
2026-05-27  00:32         <DIR>    Diagnostics
2026-05-27  10:32         <DIR>    eshelp
2026-05-26  20:12         <DIR>    HP
 
Thats still the case - as Jay said:
Code:
ag-usr@AG-NB_HP-3 >["d:\_tests"]
ADM: N | Zeit: 22:02 | $ > movedir d:\_Tests\test1\ u:\
TCC: (Sys) Der Verzeichnisname ist ungültig.
 "D:\_Tests\test1\"
ag-usr@AG-NB_HP-3 >["d:\_tests"]
 
Fixed now (testet with v36.52.81). Thanks.
 
Back
Top