Date VBS查找带有日期的文件并将该日期更改为前一天
这里是新的,非常新的VBS,所以请简单 我有一组文件通过Date VBS查找带有日期的文件并将该日期更改为前一天,date,vbscript,Date,Vbscript,这里是新的,非常新的VBS,所以请简单 我有一组文件通过FTP发送到服务器上的文件夹,这些文件的命名结构如下: waw_29_2013-09-09_act_v001.csv waw_29_2013-09-09_amf_v001.csv waw_29_2013-09-09_inc_v001.csv waw_29_2013-09-09_nbs_v001.csv waw_29_2013-09-09_trn_v001.csv waw_29_2013-09-09_val_v001.csv waw_29_2
FTP
发送到服务器上的文件夹,这些文件的命名结构如下:
waw_29_2013-09-09_act_v001.csv
waw_29_2013-09-09_amf_v001.csv
waw_29_2013-09-09_inc_v001.csv
waw_29_2013-09-09_nbs_v001.csv
waw_29_2013-09-09_trn_v001.csv
waw_29_2013-09-09_val_v001.csv
waw_29_2013-09-09_wth_v001.csv
我试图实现的是让脚本扫描包含这些文件的文件夹,并将名称更改为前一天的名称,但保留命名约定的结构
我在我的c:\drive
中的一个文件中尝试过这个方法(我是新手,请原谅我不理解)
文件(作为测试)名为c:\fake\u 2013-09-09.txt
,它正在尝试扫描该文件的c:\drive(无论日期),然后将该文件重命名为“waw\u 29\u 2013-09-09\u act\u v001.csv”
我还需要同样的脚本单独运行,但要将日期更改回周末的3天
任何帮助都将不胜感激
保重
迈克
你好
我有了进一步的了解:
我现在将脚本修改如下:
Dim file1, file2
file1 = "C:\winter\waw_29_2013-09-10_act_v001.csv"
file2 = "C:\winter\waw_29_" & -Year(Date) & Right("0" & Month(Date),2) & Right
("0" & -Day(Date),2) & "_act_v001.csv"
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(file1) = true then
If fso.FileExists(file2) = true then
fso.DeleteFile(file2)
End if
fso.MoveFile file1, file2
'else
“msgbox”文件不存在
如果结束
Set FSO = Nothing
现在我有两个关于剧本的问题,因为我认为它90%都在那里:
- 文件1中的行,我如何才能让它搜索文件,而只搜索and _act字段
- 在File2下,我可以让系统现在为文件生成一个日期(错误的日期,但我正在获取),但格式是20130909,而不是我需要的2013-09-09。我如何在日期之间添加“-”,因为如果我将“&右侧(“0”)”保留在中以创建前导“0”,则会失败,但如果我将其删除,则会将“-”保留在中,但不保留前导)李>
- 我的最后一个问题是我找到了DateAdd命令,它允许我搜索文件,然后将日期更改为上一个日期……我的问题是我不知道在代码中放在哪里
Mike要构建格式为
YYYY-MM-DD
的日期字符串,您需要连接日期部分和交错连字符:
d = Date
Year(d) & "-" & Right("0" & Month(d), 2) & "-" & Right("0" & Day(d), 2)
对于在3天前生成日期字符串,您可以执行相同的操作,但首先从当前日期中减去3天:
d = Date - 3
Year(d) & "-" & Right("0" & Month(d), 2) & "-" & Right("0" & Day(d), 2)
d = Date - 3
Year(d) & "-" & Right("0" & Month(d), 2) & "-" & Right("0" & Day(d), 2)