我想在文件名中使用月份名称.我从sql server导出数据文件的名称应该使用系统日期,如果月份是3三那么它应该打印文件名为febact,如果月份是4那么它应该打印marchact.
谢谢,拉维.
WMIC似乎不适用于我的Win XP - 它不包含在XP Home版中.
这不是最优雅的解决方案,但应该有效.
@echo off
  rem 0,2 for mm/dd/yyyy  or 3,2 for dd/mm/yyyy
set month-num=%date:~3,2%
if %month-num%==01 set mo-name=jan
if %month-num%==02 set mo-name=feb
if %month-num%==03 set mo-name=mar
if %month-num%==04 set mo-name=apr
if %month-num%==05 set mo-name=may
if %month-num%==06 set mo-name=jun
if %month-num%==07 set mo-name=jul
if %month-num%==08 set mo-name=aug
if %month-num%==09 set mo-name=sep
if %month-num%==10 set mo-name=oct
if %month-num%==11 set mo-name=nov
if %month-num%==12 set mo-name=dec
echo build filename using %mo-name%
好一点 :
@echo off
  rem 0,2 for mm/dd/yyyy  or 3,2 for dd/mm/yyyy
set month-num=%date:~3,2%
  rem remove any leading zero :
IF "%month-num:~0,1%"=="0" SET month-num=%month-num:~1%
FOR /f "tokens=%month-num%" %%a in ("jan feb mar apr may jun jul aug sep oct nov dec") do set mo-name=%%a
echo build filename using %mo-name%
您尚未提供文件名的格式.下面的批处理文件只转换当前日期的月份:
@echo off
setlocal EnableDelayedExpansion
set m=100
for %%m in (January February March April May June July August September October November  December) do (
   set /A m+=1
   set month[!m:~-2!]=%%m
)
rem Change tokens=2 for DD/MM/YYYY date format
for /F "tokens=1 delims=/"  %%m in ("%date%") do (
   set monthName=!month[%%m]!
)
echo %monthName%
如果你想要月份名称有恒定的长度(即:3个字母):
@echo off
setlocal EnableDelayedExpansion
for /F "tokens=1 delims=/" %%m in ("%date%") do (
   set /A "m=(1%%m%%100-1)*3"
)
set month=JanFebMarAprMayJunJulAugSepOctNovDec
set monthName=!month:~%m%,3!
echo %monthName%
安东尼奥
| 归档时间: | 
 | 
| 查看次数: | 19391 次 | 
| 最近记录: |