【问题标题】:Issue with Windows Batch Script to change Icon for empty folder使用 Windows 批处理脚本更改空文件夹的图标的问题
【发布时间】:2022-01-14 16:24:15
【问题描述】:

我在使用 Windows 批处理脚本时遇到了一个小问题。 在脚本中我搜索空文件夹,当脚本找到一个时,它将在其中复制desktop.ini。我的问题是当robocopy设置属性时,文件夹也会得到这个属性。

@echo=off

for /d /r %1 %%A in (.) do ( dir /a /b "%%~fA" 2>nul | findstr "^" >nul || robocopy  "C:\Users\user2\Desktop\test Projekt" "%%~fA" /a+:SH "desktop.ini"

)

【问题讨论】:

  • 使用attrib命令来设置文件的属性,而不是使用robocopy

标签: windows batch-file cmd robocopy


【解决方案1】:

也许这一行 将实现您的预​​期任务:

@For /F "Delims=" %%G In ('Dir "%~1" /A:D /B /S 2^>NUL') Do @For /F %%H In ('%SystemRoot%\System32\xcopy.exe "%%G" : /HILQ 2^>NUL') Do @If %%H Equ 0 %SystemRoot%\System32\Robocopy.exe "%UserProfile%\Desktop\test Projekt" "%%G" "desktop.ini" /A+:SH 1>NUL

它使用for /f 循环和dir,而不是for /d /r 循环来识别每个目录,而不是非隐藏目录。然后它在另一个for /f循环中使用xcopy.exe,而不是dirfindstr.exe,然后使用if而不是条件||,仅将那些没有文件的文件传递给robocopy.exe命令行。 robocopy 命令应根据需要将您的desktop.ini 文件复制到那些无文件目录,根据需要将复制的文件属性更改为systemhidden

【讨论】:

    猜你喜欢
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 2016-05-27
    相关资源
    最近更新 更多