发送电子邮件时在文件名中添加日期

发送电子邮件时在文件名中添加日期

我想将当前日期添加到文件名中。发送带有附件的电子邮件时。

我的脚本:

#!/bin/sh
clear

now=`date +"%m_%d_%Y"`

mutt -s "Reports $now" [email protected] -a /path/Reports.xlsx < /path/mailmessage.txt

但是,我想要当前日期和文件名而不是电子邮件主题。由于文件每天都会修改并通过电子邮件发送。

例如:通过电子邮件收到的 Reports_08032017.xlsx。

是否可以?

任何帮助表示赞赏。

答案1

创建一个具有所需文件名的临时副本,您可以在发送邮件后将其删除。

NOW=$(date +'%m_%d_%Y')
TMPCOPY="/tmp/Reports_$NOW.xlsx"

cp "/path/Reports.xlsx" "$TMPCOPY"
mutt -s "Reports $NOW" [email protected] -a "$TMPCOPY" < /path/mailmessage.txt

rm "$TMPCOPY"

答案2

最好在创建文件时执行此操作,但您也可以像这样更改它的名称:

today=$(date +%m-%d-%Y)
file="/path/Reports.xlsx"
nfile="/path/Reports-$today.xlsx"
mv $file $nfile

相关内容