2017-04-18 71 views
0

我想用附加字符串重命名5个特定文件。它们都遵循相同的名称格式,但长度不同。将变量字符串附加到文件名

我想文本"Apr-17_RA"追加该文件夹

在这个例子中分批将运行5月1日的,所以得到日期将是-1至比上月运行。

String1=Get-Date -format MMM 
String2=Get-Date -format YY 
String3=_RA 

文件位置: \\[SERVER]\TopFolder\F1\F2\F3\[X_FILE-NAME_].csv

文件应该说 \\[SERVER]\TopFolder\F1\F2\F3\[X_FILE-NAME_]& St1 & Str2 & Str3.csv

最终名称1个文件: \\[SERVER]\TopFolder\F1\F2\F3\[X_FILE-NAME_Apr-17_RA.csv

编辑当前批次:

:assign variable for your file prefix 
set filesuffix=Apr-17_RA 

:create a temporary drive mapping to the target folder 
net use m: "\\[Server]\[F1]\[F2]\[F3]\[F4]" 

:change working directory to target folder 
cd /d m: 

:rename target files 
ren [X_File-1_].csv [X_File-1_]%filesuffix%.csv 
ren [X_File-2_].csv [X_File-2_]%filesuffix%.csv 
ren [X_File-3_].csv [X_File-3_]%filesuffix%.csv 
ren [X_File-4_].csv [X_File-4_]%filesuffix%.csv 
ren [X_File-5_].csv [X_File-5_]%filesuffix%.csv 

:remove the temporary mapping you created earlier 
net use m: /delete 
+0

您似乎更新了您的文章而未通知/评论。为了清楚起见,你所需要做的就是:在首先用'RDate'替换'filesuffix'的所有实例后,用你的** EDIT **替换你的脚本的内容,包括我的最后一个'Rem' ' – Compo

回答

1

这是一个使用powershell的批注文件。它会完成您尚未完成的日期工作,您可以在适当的位置添加自己的特定命令以自行完成脚本:

@Echo Off 
Rem Enter date format string 
Set "String1=MMM-yy" 
Rem Enter date string suffix 
Set "String2=_RA" 
Rem Enter relative days from today, [use - for days ago]. 
Set "RelDays=-1" 

For /F UseBackQ %%A In (
    `PowerShell "(Get-Date).AddDays(%RelDays%).ToString('%String1%')"` 
) Do Set "RDate=%%A%String2%" 

Rem Enter commands using new string variable 
Echo(%%RDate%% = %RDate% 

Timeout -1 
GoTo :EOF