2

我正在尝试创建一个批处理文件 ( filehandling.bat)

我有一个C:\Users\username\Downloads名为的文件,"hita_2013_11_05_19_11_38.csv"其中日期/时间根据创建的日期/时间而变化

我需要将此文件重命名为"hita.csv"

问题来了,因为它们将始终是目录中的现有"hita.csv"文件,除非被上述文件覆盖,否则该文件需要保留在那里,因此 REN 函数不起作用,因为它没有覆盖文件

"hita_2013_11_05_19_11_38.csv"如果文件不存在,我还需要它对现有的“hita.csv”文件不做任何更改(什么也不做) 。

我尝试了以下命令,但无法正常工作:REN、MOV、ROBOCOPY /MOV

我也试过:

IF EXIST "C:\Users\username\Downloads\Hita*.csv" ( 
DEL C:\Users\username\Downloads\Hita.csv 
REN "C:\Users\username\DownloadsHita*.csv" Hita.csv 
) ELSE ( 
Echo The file was not found. 
) 

"hita.csv"但由于某种原因,此命令仍会删除文件

4

2 回答 2

1

将您的测试更改为IF EXIST "C:\Users\username\Downloads\Hita_*.csv"(注意“*”之前的下划线)。通配符匹配 0 个或多个字符,因此*它将匹配Hita.csvHita_01.csvHitaXYZ.csv

添加下划线使其仅匹配以开头的文件Hita_

于 2013-11-05T20:00:09.697 回答
0

你的hita.csv匹配通配符搜索Hita*.csv,所以它会删除它。

我相信你希望你的通配符搜索是Hita?*.csv. 问号应该充当“完全是一个”,而星号是“零个或多个”字符,这意味着Hita.csv不符合该标准。

于 2013-11-05T19:59:49.763 回答