我正在尝试使用附加字符串重命名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 :(得分: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