小编Tim*_*wan的帖子

使用CMD中的文件日期重命名文件

我觉得我咬的比我咬得多得多.

我是一名宫廷记者,在明尼苏达州法院系统工作.我们制定了新的电子票据提交政策,因为许多记者不再打印纸质票据.不同品牌的报告机器创建具有不同命名约定的文件,并且我们希望标准化名称,以便区管理中的某人可以轻松地找到正确的注释(如果我们不在身边).

因此,我们要将FILE.001,FILE.002和20151018-082815.sgstn重命名为文件创建日期.当然,sgstn文件有一个唯一的名称,但创建FILE.*文件的无处不在的编写者确实需要重命名,标准化将帮助所有人.我正在创建一个CMD文件,该文件也将对法官的姓名和作家品牌进行民意调查,因此任何从存储中取出笔记的人都会找到他们正在寻找的内容:"2015-10-18琼斯法官,Stentura作家. 001"

我发现有很多解决方案可以使用TODAY的日期和时间重命名文件,但是我们希望用他们自己的日期和时间重命名它们.

我是Windows 7 Pro中的标准用户,无法安装第三方软件.Windows允许个人用户设置他们的首选日期样式,dbenham和其他人在这里向我展示了如何从注册表中获取该样式:

:: For REG.EXE 3.0 (Windows XP) and later versions
FOR /F "tokens=3" %%A IN (
  'REG QUERY "HKCU\Control Panel\International" /v sShortDate'
  ) DO (SET sShortDate=%%A)
Echo %sShortDate%
Run Code Online (Sandbox Code Playgroud)

这将返回yyyy-MM-dd或dM-yy或用户选择的任何内容.

然后我可以测试以查看字符串的不同部分的内容:

for /f "tokens=1,2,3 delims=/-" %%A in ("%sShortDate%") do (
    for /f "tokens=1" %%D in ("%%A") do (
        set Part1=%%D
    )
    for /f "tokens=1" %%D in ("%%B") do (
        set Part2=%%D
    )
    for /f "tokens=1" %%D in ("%%C") do (
        set Part3=%%D
    )
) …
Run Code Online (Sandbox Code Playgroud)

windows cmd date batch-file file-rename

6
推荐指数
1
解决办法
1044
查看次数

标签 统计

batch-file ×1

cmd ×1

date ×1

file-rename ×1

windows ×1