iT邦幫忙

0

工作排程器-變動欄位(日期)

各位先進好:
請問我要使用工作排程器每天下午執行exe檔產生一個報表,並"將該報表寄給指定收件人"
但是我的欄位及檔案的檔名會包含到當天的日期,所以想請問有什麼方法可以取當天日期嗎?
先感謝各位

https://ithelp.ithome.com.tw/upload/images/20190711/20116501ImnY7sBm84.png

看更多先前的討論...收起先前的討論...
player iT邦大師 1 級 ‧ 2019-07-12 02:23:45 檢舉
如果我沒記錯的話
得寫程式
雖然環境變數裡也有日期
但是Windows的工作排程好像不能直接用它?
看你熟悉哪一種程式語言囉
你會寫PowerShell或VBScript 嗎?
Google找Task Scheduler getdate mail
自己寫發送到SMTP郵件程式,讓你的程式可以抓當時的時間、主旨、內文、附件......
這是C#的例子.......幾行字而已

using System.Net.Mail;
using System.Net;


MailMessage msg = new MailMessage();
SmtpClient smtp = new SmtpClient("mail.abcd.com.tw", 25);
msg.IsBodyHtml = false;
msg.From = new MailAddress("yourname@abc.com.tw", SystemInformation.ComputerName);
msg.Body = "這是一封通知信";
msg.Attachments.Add(new Attachment("d:\\data\\gogogo.xlsx"));//加入附件
msg.Subject = Datetime.Now.ToString("yyyy/MM/dd hh:mm")
msg.BodyEncoding = System.Text.Encoding.UTF8;
smtp.Send(msg);
fufujane iT邦新手 5 級 ‧ 2019-07-15 10:18:33 檢舉
先感謝兩位,我比較常使用C#,我在測試一下~謝謝
fufujane iT邦新手 5 級 ‧ 2019-07-16 15:56:27 檢舉
@japhenchen 大大的例子好像沒有看到收件人;感謝兩位,已完成,附上程式碼,非常感謝二位

using System;
using System.Net.Mail;

namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
MailMessage msg = new MailMessage();
SmtpClient smtp = new SmtpClient("XX.XXX.XXX.XXX", 25); //寄件伺服器
msg.IsBodyHtml = false;
msg.From = new MailAddress("XXXX@XXX.com.tw");//寫上寄件者
msg.To.Add("XXX@XXX.com.tw");//加入第一個收件者
msg.To.Add("XX@XXX.com.tw");//加入第二個收件者
msg.Body = @"Dear XXX:
附件請查收,謝謝!
"; //信件內容
msg.Attachments.Add(new Attachment("C:\\Users\\User\\Desktop\\XXX.xlsx"));//加入附件
msg.Subject = DateTime.Now.ToString("yyyy/MM/dd hh:mm")+"(自動發送)"; //信件主旨
msg.BodyEncoding = System.Text.Encoding.UTF8;
smtp.Send(msg);
}
}
}

尚未有邦友回答

立即登入回答