我希望能够使用当前日期重命名任何文件或文件夹,因此我在注册表中添加了以下键值,以使此选项显示在右键单击上下文菜单中:
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 日期格式。请参阅格式化日期和时间了解更多信息。
要向所有文件添加新的上下文菜单项,请执行以下操作:
打开 regedit.exe 并导航至HKEY_CLASSES_ROOT\*\shell
添加一个新键并将其名称设置为您想要的菜单项名称
在其下添加一个新键,名称为命令
双击(默认)价值之下命令键并设置其值如下:
如果使用常规命令提示符(请注意双百分号):
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)