如何从资源管理器的上下文菜单中使用当前日期重命名文件?

如何从资源管理器的上下文菜单中使用当前日期重命名文件?

我希望能够使用当前日期重命名任何文件或文件夹,因此我在注册表中添加了以下键值,以使此选项显示在右键单击上下文菜单中:

HKEY_CLASSES_ROOT\*\shell

Cmd.exe /c ren %1 "sample".*

但是,我找不到如何使用当前日期执行此操作。有人可以帮忙吗?

答案1

要在 Windows 命令提示符中获取当前日期,请使用以下命令:

date /t

要使用当前日期重命名文件,您需要使用构造for来捕获命令的输出date并将其传递给ren

for /f "useback delims=" %x in (`date /t`) do ren oldfile.foo %x

date但请注意,根据您的区域设置,输出可能包含不能在文件名中使用的符号,例如斜线 ( /)。如果是这样,您有两个选择:

  • 将日期格式化,以使其适合在文件名中使用;请参阅Stack Overflow 上的这篇文章

  • 请使用 PowerShell。下面应该可以解决问题:

    Rename-Item oldfile.foo (Get-Date -Format yyyy-MM-dd)
    

    该示例使用 ISO 日期格式。请参阅格式化日期和时间了解更多信息。


要向所有文件添加新的上下文菜单项,请执行以下操作:

  1. 打开 regedit.exe 并导航至HKEY_CLASSES_ROOT\*\shell

  2. 添加一个新键并将其名称设置为您想要的菜单项名称

  3. 在其下添加一个新键,名称为命令

  4. 双击(默认)价值之下命令键并设置其值如下:

    • 如果使用常规命令提示符(请注意双百分号):

      cmd /c for /f "useback delims=" %%x in (`date /t`) do ren "%1" %%x
      
    • 如果使用 PowerShell:

      cmd /c powershell Rename-Item "%1" (Get-Date -Format yyyy-MM-dd)
      

相关内容