DTFILE_COPY(1)
π NAME π
okay so bestie, <pink>dtfile_copy</pink> is literally the CDE File Manager copy utility. that's it, that's the vibe. π«Ά
β¨ SYNOPSIS β¨
dtfile_copy [options ...] [source_folder target_folder]
πΈ DESCRIPTION πΈ
so the CDE File Manager copy utility? it recursively copies folders and everything inside them, subfolders included, no cap. π¦
its default behavior is to make a full duplicate of source_folder over in target_folder's location. which means, lowkey:
- things that exist in the target but not in the source get deleted π
- things that exist in the source but not in the target get copied β¨
- things that exist in both get replaced if they're different π₯
and how does it know if two things are "identical"? it compares both the timestamp and the size of the two objects. that's the check, periodt.
the File Manager calls this utility every time a user asks for a folder to be moved or copied, so its use is totally transparent to the user β like they never even see it. π§ but you can also run it yourself explicitly from a shell window, and it has a whole bunch of options to tweak that default behavior. main character energy, honestly. π
π OPTIONS π
here's everything you can throw at it from the command line:
-dontDoItβ writes a description of the actions that would be performed into a dialog window, but does not modify any objects. pure window shopping, bestie. π-keepNewβ if an object exists in both the source and target folders, don't replace the target object when it's newer than the source object.-keepOldβ if an object exists in both folders, rename the existing target object by appending.oldto the name before copying the source over. cute little keepsake. π-dontDeleteβ if an object exists in the target folder but not the source, don't delete the target object.-dontAddβ if an object exists in the source folder but not the target, don't copy the source file.-dontReplaceβ if an object exists in both the source and target folders, don't replace the target object.-dontRecurβ only process the files in the source folder, don't touch any subfolders.-keepLinksβ if the target object is a symbolic link to the source object, keep the link instead of replacing that link with a copy of the source object. π-keepCopiesβ if a source object is a symbolic link and the target object is a copy of the object that the source link points at (i.e. it has the same size and timestamp), keep the target object instead of replacing it with a symbolic link.-forceCopiesβ if an object exists in both folders, copy the source object even if the timestamps and sizes are equal. no vibe check, just force. π-linkFoldersβ if a folder exists in the source but not the target, create a symbolic link in the target pointing to the source, instead of copying the source folder.-linkFilesβ if a file exists in the source but not the target, create a symbolic link in the target pointing to the source, instead of copying the source file.-copyFoldersβ if the source is a symbolic link to a folder, make a copy of the folder that the source link points at, instead of just copying the link.-copyFilesβ if the source is a symbolic link to a file, makes a copy of the file that the source link points at, instead of just copying the link.-copyTopβ if the target folder doesn't exist, create one. β¨-moveβ after a successful copy operation, remove the source folder.-confirmReplaceβ if an object exists in both the source and target directories, pop up a dialog giving a choice of actions before proceeding.-confirmErrorsβ if an error happens while processing an object, pop up a dialog describing the error before proceeding.-popDownβ after a successful copy or move operation, automatically remove thedtfile_copydialog after the interval specified by thedelayoption.-delayβ the time, in microseconds, that thedtfile_copydialog is displayed after a successful copy operation is completed.-slowβ pause for a preset time interval between each file operation. snail mode fr fr. π
π EXAMPLES π
dtfile /u/aUser/FolderA /u/aUser/FolderA.backup
the folder /u/aUser/FolderA.backup gets made into a duplicate of /u/aUser/FolderA. and the name of each object processed is written to a dialog window, along with an indication of the operation that was performed. iconic. π
π¦ RESOURCES π¦
here's the whole resource lineup, bestie β name, class, type, default, all of it:
dontDoItβ classDontDoIt, typeXmRBoolean, defaultFalsekeepNewβ classKeepNew, typeXmRBoolean, defaultFalsekeepOldβ classKeepOld, typeXmRBoolean, defaultFalsedontDeleteβ classDontDelete, typeXmRBoolean, defaultFalsedontAddβ classDontAdd, typeXmRBoolean, defaultFalsedontReplaceβ classDontReplace, typeXmRBoolean, defaultFalsedontRecurβ classDontRecur, typeXmRBoolean, defaultFalsekeepLinksβ classKeepLinks, typeXmRBoolean, defaultFalsekeepCopiesβ classKeepCopies, typeXmRBoolean, defaultFalseforceCopiesβ classForceCopies, typeXmRBoolean, defaultFalselinkFoldersβ classLinkFolders, typeXmRBoolean, defaultFalselinkFilesβ classLinkFiles, typeXmRBoolean, defaultFalsecopyFoldersβ classCopyFolders, typeXmRBoolean, defaultFalsecopyFilesβ classCopyFiles, typeXmRBoolean, defaultFalsecopyTopβ classCopyTop, typeXmRBoolean, defaultFalsemoveβ classmove, typeXmRBoolean, defaultFalseconfirmReplaceβ classConfirmReplace, typeXmRBoolean, defaultFalseconfirmErrorsβ classConfirmErrors, typeXmRBoolean, defaultFalsepopDownβ classPopDown, typeXmRBoolean, defaultFalsedelayβ classDelay, typeXmRBoolean, defaultFalsetoggleβ classToggle, typeXmRBoolean, defaultTrueslowβ classSlow, typeXmRBoolean, defaultFalse
π and now every single one explained π
Dtfile*dontDoIt:
writes a description of the actions that would be performed to a dialog window, but does not modify any objects.
Dtfile*keepNew:
if an object exists in the source and target folders, don't replace the target object if it's newer than the source object.
Dtfile*keepOld:
if an object exists in the source and target folders, rename the existing target object by appending .old to the name before copying the source.
Dtfile*keepLinks:
if the target object is a symbolic link to the source object, keep the link instead of replacing the link with a copy of the source object.
Dtfile*keepCopies:
if a source object is a symbolic link and the target object is a copy of the object that the source link points at (i.e. has the same size and timestamp), keep the target object instead of replacing it with a symbolic link.
Dtfile*forceCopies:
if an object exists in the source and target folders, copy the source object even if the timestamps and sizes are equal.
Dtfile*linkFolders:
if a folder exists in the source but not the target, create a symbolic link in the target pointing to the source instead of copying the source folder.
Dtfile*linkFiles:
if a file exists in the source but not the target, create a symbolic link in the target pointing to the source instead of copying the source file.
Dtfile*copyFolders:
if the source is a symbolic link to a folder, make a copy of the folder that the source link points at, instead of just copying the link.
Dtfile*copyFiles:
if the source is a symbolic link to a file, makes a copy of the file that the source link points at, instead of just copying the link.
Dtfile*copyTop:
if the target folder doesn't exist, create one.
Dtfile*move:
following a successful copy operation, remove the source folder.
Dtfile*confirmReplace:
if an object exists in the source and target directories, display a dialog giving a choice of actions before proceeding.
Dtfile*confirmErrors:
if an error occurs processing an object, display a dialog describing the error before proceeding.
Dtfile*popDown:
following a successful copy or move operation, automatically remove the dtfile_copy dialog after the interval specified by the delay option.
Dtfile*delay:
the time, in microseconds, that the dtfile_copy dialog is displayed after a successful copy operation is completed.
Dtfile*slow:
pause for a preset time interval between each file operation.
heads up bestie: this one's flag-city. twenty-one options, andtogglelives in the resources list with a default ofTruewhile everything else defaults toFalse. keep that in mind before you start flipping things. π
okay that's the whole page, you ate that π
the manual name stamped on the footer is literally dtfile_copy(user cmd) and there's no date or version to report on this one, so that's all she wrote β mwah ππ
π¦ where this page comes from
- nixos 26.05: cde 2.5.3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms