移动非归档文件并将其属性设置为在目标目录中归档

Move non-archived files and set their attribute to archived in destinaton directory

我正在执行自动组织 CMD,将所有桌面文件放入各自的文件夹中。我希望只有在文件未存档(存档属性)时才将文件从文件夹移动到其父文件夹的代码,然后将文件存档在另一个目录中。在尽可能少的行。

未完成代码示例,将"only move files if archived"替换为我需要的代码...

"only move files if archived"
attrib +a ..\*.*

使用robocopy.

  • /ia: 仅处理具有指定属性的文件:

    robocopy "source-folder" "destination-folder1" /ia:a /move
    
  • /xa: 排除具有指定属性的文件:

    robocopy "source-folder" "destination-folder2" /xa:a /move 
    

要将桌面文件夹放入 %desktop% 变量:

for /f "skip=2 tokens=2*" %%a in (
    'reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
    ^ /v Desktop'
) do call set desktop=%%b