编写一个批处理有以下功能,运行该批处理时自动新建一个文件夹,文件夹的名字为昨天的时间。
编写一个批处理有以下功能,运行该批处理时自动新建一个文件夹,文件夹的名字为昨天的时间。能不能不调用vbs只是纯属dos命令的...
编写一个批处理有以下功能,运行该批处理时自动新建一个文件夹,文件夹的名字为昨天的时间。
能不能不调用vbs只是纯属dos命令的 展开
能不能不调用vbs只是纯属dos命令的 展开
2个回答
2010-10-13
展开全部
@echo off
::需要调用VBS
rem 指定天数
set DaysAgo=1
>"%temp%\MyDate.vbs" echo LastDate=date()-%DaysAgo%
>>"%temp%\MyDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
>>"%temp%\MyDate.vbs" echo wscript.echo FmtDate
for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do (
set DstDate=%%a
)
set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%
echo 昨天的日期是:%DstDate%
pause
md %DstDate%
pause
::需要调用VBS
rem 指定天数
set DaysAgo=1
>"%temp%\MyDate.vbs" echo LastDate=date()-%DaysAgo%
>>"%temp%\MyDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
>>"%temp%\MyDate.vbs" echo wscript.echo FmtDate
for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do (
set DstDate=%%a
)
set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%
echo 昨天的日期是:%DstDate%
pause
md %DstDate%
pause
展开全部
@echo off
date/t>tmp.txt
for /f "tokens=1,2,3 delims=/ " %%i in (tmp.txt) do (set year=%%i&&set month=%%j&&set day=%%k)
set /a yearr=%year%%%4
if /i %day% geq 02 (set newyear=%year%&&set newmonth=%month%&&set /a newday=%day%-1&&goto made)
if "%month%"=="01" (set /a newyear=%year%-1&&set newmonth=12&&set newday=31&&goto made)
for %%a in (02,04,06,08,09,11) do (if "%month%"=="%%a" (set newyear=%year%&&set /a newmonth=%month%-1&&set newday=31&&goto made))
for %%b in (05,07,10,12) do (if "%month%"=="%%b" (set newyear=%year%&&set /a newmonth=%month%-1&&set newday=30&&goto made))
if "%month%"=="03" (if yearr==0 (set newyear=%year%&&set /a newmonth=%month%-1&&set newday=29)else(set newyear=%year%&&set /a newmonth=%month%-1&&set newday=28))
:made
md %newyear%-%newmonth%-%newday%
del tmp.txt
请楼主把以上内容制成bat文件,放到哪个位置双击即可在该位置建立一个文件夹,名字为昨天的日期,考虑到了月末和年末以及不同年份二月的情况,但未考虑润月的情况,请楼主见谅。
date/t>tmp.txt
for /f "tokens=1,2,3 delims=/ " %%i in (tmp.txt) do (set year=%%i&&set month=%%j&&set day=%%k)
set /a yearr=%year%%%4
if /i %day% geq 02 (set newyear=%year%&&set newmonth=%month%&&set /a newday=%day%-1&&goto made)
if "%month%"=="01" (set /a newyear=%year%-1&&set newmonth=12&&set newday=31&&goto made)
for %%a in (02,04,06,08,09,11) do (if "%month%"=="%%a" (set newyear=%year%&&set /a newmonth=%month%-1&&set newday=31&&goto made))
for %%b in (05,07,10,12) do (if "%month%"=="%%b" (set newyear=%year%&&set /a newmonth=%month%-1&&set newday=30&&goto made))
if "%month%"=="03" (if yearr==0 (set newyear=%year%&&set /a newmonth=%month%-1&&set newday=29)else(set newyear=%year%&&set /a newmonth=%month%-1&&set newday=28))
:made
md %newyear%-%newmonth%-%newday%
del tmp.txt
请楼主把以上内容制成bat文件,放到哪个位置双击即可在该位置建立一个文件夹,名字为昨天的日期,考虑到了月末和年末以及不同年份二月的情况,但未考虑润月的情况,请楼主见谅。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询