如何将日期和时间写入文件名?

时间:2018-08-22 15:57:22

标签: file datetime autoit

我的AutoIt脚本不起作用。它应按实际日期和时间重命名文件。

#include <Date.au3> 
#include <File.au3>
FileMove("C:\file.csv", "C:\file" & _NowDate() & _NowTime() & ".csv")

没有语法错误,但文件未重命名。我认为Windows会拒绝:/之类的符号。如何将时间转换为以下格式:hh-mm-ss_dd-mm-yyyy

2 个答案:

答案 0 :(得分:1)

  

“ ... ... 如何以以下格式转换时间:hh-mm-ss_dd-mm-yyyy?

根据this forum post(因为没有要转换的内容):

Global Const $g_sPathFile = 'C:\file.csv'
Global Const $g_sFormat   = '%s-%s-%s_%s-%s-%s'
Global Const $g_sTime     = StringFormat($g_sFormat, @HOUR, @MIN, @SEC, @MDAY, @MON, @YEAR)
Global Const $g_sNameNew  = StringReplace($g_sPathFile, '.', $g_sTime & '.', -1)

FileMove($g_sPathFile, $g_sNameNew)

yyyymmddhhmmss -format符合字符串排序(通过Windows资源管理器显示时间顺序)。

Documentation - Macro Reference

答案 1 :(得分:0)

您可以在线清理输出

#include <Date.au3>
FileMove("file.csv", "file" & stringreplace(_NowTime(5) , ":" , "-") & "_" & 
stringregexpreplace(_NowCalcDate() , "(\d\d\d\d)/(\d\d)/(\d\d)" , "$3-$2-$1") & 
".csv")