Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date VBS查找带有日期的文件并将该日期更改为前一天_Date_Vbscript - Fatal编程技术网

Date 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

这里是新的,非常新的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
中的一个文件中尝试过这个方法(我是新手,请原谅我不理解)

文件(作为测试)名为
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命令,它允许我搜索文件,然后将日期更改为上一个日期……我的问题是我不知道在代码中放在哪里
伙计们,如果你们能帮忙,我将非常感激

迈克

哇,非常感谢你,真的帮了我很大的忙,解决了我问题的第二部分。 您知道如何在文件夹中搜索设置参数,以便我可以搜索名为“waw_29_2013-09-09_act_v001.csv”的文件夹,但从搜索中排除日期部分吗

再次感谢你,我从剧本的那一部分学到了很多


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)