[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[代码合集] 求这个重命名文件名的批处理 如何实现文件名更改为文件修改时间

@echo off
setlocal enabledelayedexpansion
rem
set "file=jpg,mpg"
for %%i in (!file!) do (
set n=1
for /f "delims=" %%a in ('dir /b "*.%%i"') do (
set "t=%%~ta"
set "t=!t::=:!"
if not exist "!t!%%~xa" (
ren "%%~fa" "!t!%%~xa"
) else (
ren "%%~fa" "!t!_!n!%%~xa"
set /a n=n+1
)
)
)

pause



当前这个批处理只能把文件名命名为2012-03-06 13:28的形式 怎么加上秒 也就是变为2012-03-06 13:28:20这样的格式啊?
还有这个批处理只对当前目录有效 如何针对 子目录也有效呢? 求高手指点

有的啊 怎么把这个秒也加里面

TOP

set "t=%%~ta"
这句是拿到文件的 日期/时间 文件的修改时间没有秒的

要针对子目录也有效的话改下这句
...
冷玉公子 发表于 2012-3-6 17:36



    你再帮我看下怎么加上去秒

TOP

本帖最后由 fyubo 于 2012-3-6 19:47 编辑
set "t=%%~ta"
这句是拿到文件的 日期/时间 文件的修改时间没有秒的

要针对子目录也有效的话改下这句
...
冷玉公子 发表于 2012-3-6 17:36



    还有这个/s参数 当存在文件名更要命名的名字一样的时候 在CMD里面就会出现
存在一个重名文件,或是找不到文件
存在一个重名文件,或是找不到文件
存在一个重名文件,或是找不到文件
存在一个重名文件,或是找不到文件
存在一个重名文件,或是找不到文件
存在一个重名文件,或是找不到文件
.....
当出现这个提示100个之后 程序就不下面走了 这个是什么原因呢 怎么解决呢

TOP

本帖最后由 fyubo 于 2012-3-6 20:00 编辑
wmic可以得到文件修改时间,精确到秒。不过很罗嗦。。。
楼主试试,若可行,删除第10行、11行中的echo。即 ...
apang 发表于 2012-3-6 19:40



    wmic 是可以  这个代码是可以实现我的目的 可是运行起来 速度比不调用wmic要慢不知道多少倍了 我上万个文件修改 估计得半天 只看到CMD里面 走的好慢1秒大约2个
而REN基本上是一秒能十个

TOP

回复  fyubo


    呵呵,你的要求还蛮高哈。
apang 发表于 2012-3-6 20:11



是啊 我就是喜欢精益求精   有没有好办法 呵呵

TOP

回复  fyubo

普通方法好像不行,不信你在CMD窗口输入dir 看有秒显示不;同样%%~ta扩展得到的时间也不会 ...
apang 发表于 2012-3-6 20:42



   难道这个就是BAT的瓶颈么

TOP

无可用范例。
请按任意键继续. . .
powerbat 发表于 2012-3-6 22:06

TOP

c++做了个小程序,把文件拖入(或文件名作为参数),会自动帮你改成修改日期这个名字


time.exe 1.txt
...
dnfreeuser 发表于 2012-3-7 08:54


哥们
    你这个程序我一打开 就闪一个CMD框子 不见了  需要安装什么控件吗?

TOP

本帖最后由 fyubo 于 2012-3-7 10:07 编辑
powerbat 发表于 2012-3-6 22:06



    经测试 这个完美高效 就是如果部分文件夹里面存在已经命名过的文件 他会自动在后面加上_1这样的符号 我想让他不加这个 就是命名一致的时候 不要加_1而是直接跳过去  在哪个地方改
if else 后面这个

还有这句
set "file=jpg,avi"怎么把他改为针对所有文件呢 我用了通配符什么的 都不行 BAT不是很懂只是简单的会 汗

TOP

本帖最后由 fyubo 于 2012-3-7 11:44 编辑
回复  fyubo


    把文件拖入(或文件名作为参数)

说明都不看....
dnfreeuser 发表于 2012-3-7 11:32



    呵呵 exe 还有这样的用法啊可是怎么把我的文件名的后缀名也给改了呢  哥们再给改下把 保留文件的后缀名
这个还只能一个个的拉 拉进去一个目录 没有效果 把目录名给改了 里面的文件没有变化

TOP

回复  fyubo


   

这个是配合你批处理用的,不是要用批处理嘛,所做的就一个操作,把参数指定的文 ...
dnfreeuser 发表于 2012-3-7 13:14



    经测试  这个效果刚刚的  谢谢拉

TOP

回复  fyubo
powerbat 发表于 2012-3-7 19:42



    如果要想对子目录也有效呢 烦请你再改下吧

TOP

批处理将文件重命名为文件修改时间(精确到秒)
powerbat 发表于 2012-3-7 22:40



    错误:
代码 = 0x80020009
说明 = 发生意外。
设备 = Dispatch
请按任意键继续. . .

文件夹里面 数量有几千个的时候 这个是不是内存溢出了?

TOP

返回列表