这里有新的和非常新的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_2013-09-09_wth_v001.csv
我想要实现的是脚本扫描包含这些文件的文件夹,并将名称更改为前一天,但保留命名约定的结构。
我在c:\ drive
的文件中试过这个(我很新,所以请原谅我缺乏理解)
**Dim file1, file2
file1 = "C:\fake_%date%.txt"
file2 = "C:\waw_" & year(date) & -month(date) & -Day(Date) & "_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 "File does not exist"
End If
Set FSO = Nothing**
位于名为c:\fake_2013-09-09.txt
的文件(作为测试)上,它正在尝试扫描该文件的c:\驱动器(无论日期如何),然后将此文件重命名为"waw_29_2013-09-09_act_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%:
如果你能提供帮助,我会非常感激。
麦克
哇,非常感谢你,真的帮到了很多,并解决了我的问题的第二部分。 您知道如何在文件夹中搜索设置参数,以便搜索名为“waw_29_2013-09-09_act_v001.csv”的文件夹,但是从搜索中排除日期部分吗?
再次非常感谢你,我从剧本的那一部分学到了很多东西
麦克
答案 0 :(得分:0)
要构建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)