这里是新手,对 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 "文件不存在" End If
Set FSO = Nothing
现在我有 2 个关于脚本的问题,因为我认为它有 90%:
- File1 中的行,我怎样才能让它搜索文件但只搜索 and _act 字段?
- 在 File2 下,我可以让系统现在为文件生成一个日期(错误的日期,但我到了那里),但格式是 20130909,而不是我需要的 2013-09-09。如何在日期之间添加“-”,因为如果我留下“& Right(“0”)”以创建前导“0”,但如果我把它拿出来,它会将“-”放入但没有领先)!!!
- 我的最后一个问题是我找到了 DateAdd 命令,该命令允许我搜索文件,然后将日期更改为上一个日期.....我的问题是我不知道将其放在代码中的哪个位置。
伙计们,如果您能提供帮助,我将不胜感激。
麦克风
哇非常感谢你,真的帮了很多忙,解决了我问题的第二部分。您知道如何在文件夹中搜索设置参数,以便我可以搜索名为“waw_29_2013-09-09_act_v001.csv”的文件夹,但从搜索中排除日期部分?
再次感谢你,我从剧本的那部分学到了很多东西
麦克风