Batch file 批量打开xls和/或xlsx;记录并关闭

Batch file 批量打开xls和/或xlsx;记录并关闭,batch-file,Batch File,如何批量打开xls和/或xlsx;在目录中一次记录并关闭一个。 我需要文件更改创建日期。 你能帮我吗 @echo off set excel_program=C:\Program Files\Microsoft Office\OFFICE11\excel.exe start %excel_program% file1.xls; file2.xls; file3.xls 如果您只想更改日期和时间戳,则可能根本不需要打开文件;使用Copy命令可能适用于您: @对于“%file1.xls”、“fil

如何批量打开xls和/或xlsx;在目录中一次记录并关闭一个。 我需要文件更改创建日期。 你能帮我吗

@echo off
set excel_program=C:\Program Files\Microsoft Office\OFFICE11\excel.exe
start %excel_program% file1.xls; file2.xls; file3.xls

如果您只想更改日期和时间戳,则可能根本不需要打开文件;使用
Copy
命令可能适用于您:

@对于“%file1.xls”、“file2.xls”、“file3.xls”中的%%A,执行@Copy/B“%%~A”+Nul“%%~A.tmp”和&Move/Y“%%~A.tmp”%%~A”

使用windows touch端口可能是另一种选择

使用powershell时,它还可以一次性处理3个文件

powershell -nop -c "1..3|foreach {(gi \"file$_.xls\").Creationtime=get-date}"

批处理文件不能与图形用户界面程序交互。您仅限于启动该程序。您需要使用Vbscript或Powershell来编辑excel文件。听起来他们希望更改创建日期。这将更改修改日期。我对一个旧文件进行了测试,它只更改了修改日期。创建日期仍然是2012年,最后一次访问日期是2013年,修改日期现在是2018年。不过看起来你可以用powershell来完成。我知道你比我强得多,所以如果你比我先得到答案,请随意将其添加到你的答案中。Id使用
powershell-nop-c“获取项”%%~A'| ForEach{$\uu0.CreationTime=[datetime]::now}“
@LotPings,你需要管道吗?不能这样做:
powershell“(获取项目%%A)。CreationTime=$(获取日期)”