2017-04-18 82 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 
相關問題