永发信息网

批处理 获取date的上个月份的yyyy-mm

答案:2  悬赏:50  手机版
解决时间 2021-02-28 10:40
我要写一个批处理:从sql server数据库bcp出月报表的数据
bcp出来的文件形如YYYY-MM_filename.txt的格式,就是年份+月份+文件名.txt
用%date%函数,只能获取到当前月份的:
bcp master.dbo.fm_report_month out "e:\fm_report\%date:~0,4%-%date:~5,2%_hwbbxm.txt" -c -t "_+|" -r "\n" -U"sa" -P"pwd" -S"sdfad-1mv453x"

这样bcp出来的文件名是:2013-01_hwbbxm.txt
但是我想要的文件名是 :2012-12_hwbbxm.txt
也就是显示的是当前时间的上个月份
请问这个怎么解决?
我用批处理.bat文件执行的...
最佳答案
是不是bcd输出的就是当前月的前一个月的数据,所以日期要是比这个月早一个月?如过是的话,在bcp之前加入下面这些批处理就好了,当然 bcd 输出的那一行好改相应的变量哦,注意看了~

set /a "y=%date:~0,4%"
if "%date:~5,1%"=="0" (set /a "m=%date:~6,1%") else (set /a "m=%date:~5,2%")
if %m%==1 ( set /a "m=12" & set /a "y=%y%-1") else (set /a "m=%m%-1")

bcp master.dbo.fm_report_month out "e:\fm_report\%y%-%m%_hwbbxm.txt" -c -t "_+|" -r "\n" -U"sa" -P"pwd" -S"sdfad-1mv453x"
全部回答
同问。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我这样对吗?女朋友比较慢热,才接受我,可是
低学历的人未来什么行业前景比较好
x+y/2+x-y/6=5 2(x+y)-3(x-y)=-2
饭店发生火灾,损失不到一千元,公安消防部门怎
同时的近义词
【什么是低碳生活】下列属于低碳生活方式的是
内永地址在哪,我要去那里办事
96×31+31×3+31的简便运算
银行车贷多少利息
吕俊哲唱的她,原唱是谁
电脑经常弹出对话框 写Windows Installer 正
幸运卡全是假的,骗人的
讲50个10字笑话把
RunningMan求资源,有的都要
怪物猎人3g樱火龙怎么打?
推荐资讯
美石记石锅拌饭NO.1526我想知道这个在什么地
金福缘饭店地址在哪,我要去那里办事
比较0.3的平方、2的0.3的平方、log0.3为底2的
西家社这个地址在什么地方,我要处理点事
机体能产生抗体的的细胞有几种
草头加回怎么读
网壳相邻杆件间的夹角宜大于()。A.15°B.20°
栗沟村我想知道这个在什么地方
陕西西乡有 几家快递公司,都在那?
电脑的主机里面有多少黄金 多少克拉
劲舞团怎么打空格?
紫苑镇的重要地点
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?