Export structure file and reserved file and folder names

I played with the Export structure file and experienced problems with the form export. We often use table forms with names IN, OUT and PRN (for printing). Problem with the export is that PRN is a name Windows doesn’t like as a folder name. It is a reserved name along with others: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9.

I tried to check-in an exported structure into a Team Foundation Server 2013 that we are using in our company. Not the most up to date system, but working without any issues. I was unable to check-in most of our table forms because the resulting directory names like C:\VM-Structure-Export\Sources\TableForms\252\PRN cannot be accessed. I cannot even navigate into such folders in Windows, rename or delete them. The only workaroud I have is to do a special rename like this one:

ren “\.\C:\VM-Structure-Export\Sources\TableForms\252\PRN” temp
(found at https://support.managed.com/kb/a435/how-to-delete-a-folder-with-a-special-name-e_g_-com1.aspx)

This does rename the folder to temp and I can then delete it. I have 253 tables with forms and I guess I have to repeat this step very often.

I’m very sure that 4D wasn’t aware of this problem and I didn’t know either. I wonder, if anyone else ran into this problem?

And for 4D: please use some escaping for folder names that are treated as reserved. PRN could become [PRN] or whatever you think is suitable. I cannot use Export structure file until everything is exported in a way the OS can handle. And by the way: it would be nice to have table names instead of table numbers. I’m sure there is a technical reason for this naming scheme, but it would be so much clearer to see C:\VM-Structure-Export\Sources\TableForms\Company\IN instead of C:\VM-Structure-Export\Sources\TableForms\89\IN.

Thanks, Michael

We can only strongly recommend to choose naming conventions fitting to standard OS rules.

This also includes usage of special characters especially “.:/”

To use characters outside 7 bit range (as umlauts or other diacritic characters) the setup of all enclosed systems to correct usage of Unicode is required (which could be more difficult if automatic commit is triggered via console/LEP).

This is true for form names, as well as method/object names.

Table are referred by ID and not by name to allow renaming tables without manually modifying all files on disk. That’s why methods are referring to tables/fields/commands by ID, not by name.