Board logo

标题: [文件操作] [已解决]求助批处理提取当前日期时间在各个软件内重命名 [打印本页]

作者: 光d头    时间: 2019-10-17 17:21     标题: [已解决]求助批处理提取当前日期时间在各个软件内重命名

求助,提取当前日期时间在各个软件内重命名.

平时做图时大量的涉及大量的命名问题,为了防止重名,都是用 年月日时分秒加其它字来命名,

格式为 :2019-10-17 171302 jak89,格式这么做是因为最开始是用百度网盘上传文件直接以创建日期命名,格式就不改了.后面的jak89不变,每个名字后部都是jak89。

不停输这么长的字符,很耗费时间也很烦。

批处理可否让它自动生成,然后复制,最好是直接输入到到要命名的地方。

麻烦了.

@Batcher,上次帮助解决了问题。
作者: 光d头    时间: 2019-10-17 17:56

请管理员将贴子移到有偿区.
作者: Batcher    时间: 2019-10-17 18:57

回复 1# 光d头


    请把上次那个问题的链接更新到顶楼,方便大家理解你的新需求。
作者: zaqmlp    时间: 2019-10-17 19:09

什么是“在各个软件内重命名”?
所有文件以自身“创建时间+jak89”重命名?创建时间相同怎么办?
作者: 光d头    时间: 2019-10-17 19:34

回复 4# zaqmlp


   换一个说法看能否表达清楚:我是个做室内设计的,平时用max\cad,经常需要在对新做的图块、组、贴图等进行命名,为了防止重名造成混乱,每次输入名字的时候,我都手动输入"2019-10-17 193010 jad89"这样 年月日时分秒加名字 的形式。

  平均每半分钟一次,很麻烦。

  问用批处理的手段能不能解决这个问题,比如点一下脚本(不知是不是这么叫),自动生成这样的名字,省的每次都手动打,不方便。
作者: zaqmlp    时间: 2019-10-17 19:41

回复 5# 光d头

嗯,那么回答下我前面的问题吧
作者: Batcher    时间: 2019-10-17 19:45

回复 5# 光d头
  1. @echo off
  2. for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y-%%m-%%d %%H:%%M:%%S'"') do (
  3.     set "SysTS=%%i"
  4. )
  5. set "SysYear=%SysTS:~0,4%"
  6. set "SysMonth=%SysTS:~5,2%"
  7. set "SysDay=%SysTS:~8,2%"
  8. set "SysHour=%SysTS:~11,2%"
  9. set "SysMinute=%SysTS:~14,2%"
  10. set "SysSecond=%SysTS:~17,2%"
  11. echo %SysYear%-%SysMonth%-%SysDay% %SysHour%%SysMinute%%SysSecond% jad89
  12. pause
复制代码

作者: Batcher    时间: 2019-10-17 19:50

回复 5# 光d头


这样可以直接复制到剪贴板:
  1. @echo off
  2. for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y-%%m-%%d %%H:%%M:%%S'"') do (
  3.     set "SysTS=%%i"
  4. )
  5. set "SysYear=%SysTS:~0,4%"
  6. set "SysMonth=%SysTS:~5,2%"
  7. set "SysDay=%SysTS:~8,2%"
  8. set "SysHour=%SysTS:~11,2%"
  9. set "SysMinute=%SysTS:~14,2%"
  10. set "SysSecond=%SysTS:~17,2%"
  11. echo %SysYear%-%SysMonth%-%SysDay% %SysHour%%SysMinute%%SysSecond% jad89| clip.exe
复制代码

作者: Batcher    时间: 2019-10-17 19:52

简化:
  1. @echo off
  2. for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y-%%m-%%d %%H%%M%%S'"') do (
  3.     set "SysTS=%%i"
  4. )
  5. echo %SysTS% jad89| clip.exe
复制代码

作者: 光d头    时间: 2019-10-17 19:54

回复 6# zaqmlp


    1."在各个软件内:
        是指:可以在max \cad \ 新建文件夹或改图片名字 的时候都能用.
       其实只要能生成能复制粘贴就可以了。
   2.所有文件以自身“創建時間+jak89”重命名?
     不需在改文件名,仅要能生成"现在的时间+Jak89"这样一组字,就可以了。
   3.創建時間相同怎麼辦
    不存在这个问题,不是批处理一堆文件。由于精确到了秒,同一秒同一人不会做出两个文件来。所以不会重名。

需求是这样的;比如,我现在修了一个图片,或是新建了一个图块,要给它命名。用脚本生成"现在的时间+Jak89"这样一组字,格式是"2019-10-17 195301 jak89",我把它复制粘贴出来,不用手动打字了,就是这样。
作者: 光d头    时间: 2019-10-17 20:08

回复 9# Batcher


    我把代码,复制到新的记事本,后缀改成.vbs

   然后出现
  脚本:C:\Users\administrator\Desktop\1.vbs
  行:1
  字符:1
错误:无效字符
代码:800A0408
源:microsoft vbscript 编译器错误


上次记的改了后缀就行了,是还该做什么吗?
作者: 光d头    时间: 2019-10-17 20:11

回复 9# Batcher


    好了好了好了好了好了好了,改bat
作者: 光d头    时间: 2019-10-17 20:16

回复 9# Batcher


    感谢,我在群里,加你微信请你喝茶.
作者: Batcher    时间: 2019-10-17 20:22

回复 13# 光d头


    不用给我,群里发个红包让大家都happy一下吧
作者: zaqmlp    时间: 2019-10-17 20:23

回复 10# 光d头
  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢打赏
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. for /f "tokens=2 delims==" %%a in ('wmic OS get LocalDateTime /value ^|find "="') do set now=%%a
  6. set "t=%now:~,4%-%now:~4,2%-%now:~6,2% %now:~8,2%%now:~10,2%%now:~12,2% jad89"
  7. echo;%t%
  8. set/p=%t%<nul>"%tmp%\t.t"
  9. clip<"%tmp%\t.t"
  10. echo;时间字串已生成到剪贴板,直接粘贴即可
  11. echo;%info%
  12. >nul ping /n 2 0
  13. exit
复制代码

作者: 光d头    时间: 2019-10-17 20:41

回复 15# zaqmlp


    谢谢,试过了没问题,已扫.
作者: terse    时间: 2019-10-18 00:09

b不另加处理的的话 可以去掉FOR
  1. @echo off
  2. powershell -c "Set-Clipboard -Value ((Get-Date -UFormat '%%Y-%%m-%%d %%H%%M%%S') +' jak89')"
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2