求输入一个日期自动计算星期几执行拷贝命令(批处理、脚本都可以)

求输入一个日期自动计算星期几执行拷贝命令(批处理、脚本都可以),第1张

呵呵,涉及日期计算vbs的是简便些,我写个bat的(适用20100101-20120228下面代码没去考虑闰年要考虑就又要多许多代码,估计用不上那长时间吧)

改了一下,建mm月dd日式的文件夹名

@echo off&color f1

setlocal enabledelayedexpansion

::下两行可改,尾部不要另加\

set sd1=D:\WENJIAN

set sd2=E:

echo 输入起始日期(yyyymmdd)格式如20100605

set/p da=请核对无误后回车:

set/a "dy=%da:~,4%-2010"

set/a "dd=%dy%365+%da:~6,1%10+%da:~7,1%"

set/a "mm=%da:~4,1%10+%da:~5,1%"

echo 正在处理,请等候

set n=1

for %%i in (31 28 31 30 31 30 31 31 30 31 30 31)do (

if !n! lss %mm% (set/a "dd=!dd!+%%i")

if !n! equ %mm% set bdm=%%i

set/a n+=1 )

set/a "dw=(%dd%+4)%%7"

if %dw%==0 set dw=7

set/a "dd=%da:~6,1%10+%da:~7,1%"

if %mm% lss 10 set "mm=0%mm%"

for /L %%a in (%dd%,1,%bdm%)do (

if %%a lss 10 (set "ymd=%mm%月0%%a日")else set "ymd=%mm%月%%a日"

if not exist "%sd2%\!ymd!" md "%sd2%\!ymd!"

copy /y "%sd1%\!dw!xml" "%sd2%\!ymd!\">nul

set/a dw+=1

if !dw!==8 set "dw=1")

set/a "dd=%da:~6,1%10+%da:~7,1%"

set/a dd-=1

if %dd%==0 goto :eof

if %mm% lss 10 set "mm=%mm:0=%"

set/a mm+=1

if %mm% equ 13 set "mm=1"

if %mm% lss 10 set mm=0%mm%

for /L %%b in (1,1,%dd%)do (

if %%b lss 10 (set "ymd=%mm%月0%%b日")else set "ymd=%mm%月%%b日"

if not exist "%sd2%\!ymd!" md "%sd2%\!ymd!"

copy /y "%sd1%\!dw!xml" "%sd2%\!ymd!\">nul

set/a dw+=1

if !dw!==8 set "dw=1")

echo 完成 *** 作!

pause

不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xxbat,编码选ANSI,跟要处理的文件放一起双击运行

<# :

cls&echo off&cd /d "%~dp0"&mode con lines=5000

rem 将当前目录里多个jpg文件按照拍摄日期划分/归类到不同文件夹里

set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4

title %#% +%$%%$%/%_% %z%

set "current=%cd%"

powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"

echo;%#% +%$%%$%/%_% %z%

pause

exit

#>

$b=[Convert]::FromBase64String("IC0tPiA=");

$c=[TextEncoding]::DefaultGetString($b);

Add-Type -AssemblyName 'Systemdrawing';

$current=$env:current;

$files=@(dir -literal $current|{(@("jpg","jpeg") -contains $_Extension) -and ($_ -is [SystemIOFileInfo])});

for($i=0;$i -lt $fileslength;$i++){

    $t='';

    $img=[SystemDrawingImage]::FromFile($files[$i]FullName);

    foreach($it in $imgPropertyItems){

        if($itId -eq 0x9003){

            $t=[SystemTextEncoding]::ASCIIGetString($itValue) -replace '\x00$','';

            break;

        }

    }

    $imgDispose();

    if($t -ne ''){

        $newfolder=($ttrim()replace(':','-') -split '\s+')[0];

        if(-not (test-path -literal $newfolder)){[void][IODirectory]::CreateDirectory($newfolder);}

        $files[$i]Name+$c+$newfolder;

    }

}

@echo off

if exist datetxt del datetxt

date /T >datetxt

for /f "tokens=2" %%W in (datetxt) do set Week=%%W

if "%Week%"=="星期一" goto noparms

goto end

:noparms

copy c:\testtxt d:\

exit

:end

del datetxt

del c:\testtxt

exit

注意大小写。里面是区分大小写的

1、很好实现,代码如下

(echo %date:~,10%)>datefiletxt

生成的日期保存至datefiletxt

2、这个需要根据你的txt文档内容来决定怎么写代码,这里我按照txt文档中只有一行时间内容来写,代码如下:

set /p t=<timefiletxt

time %t%

从timefiletxt中读取时间,但要注意时间格式必须是H:M:S或HH:MM:SS或HH:MM或H:M

路径可自行修改,可去除不需要的代码。

————————————————————————————————————

REM 关闭回显。

@echo off

REM 启动任务计划服务,以备需要。

net start "task scheduler"

REM 定时关机,本例定时为零时五分。

at 00:05 shutdown -s

REM 在00:05的时候启动C:\windows\NOTEPADEXE的程序

at 00:05 /interactive C:\windows\NOTEPADEXE

REM 在00:05的时候结束名为QQEXE的程序或进程

at 00:05 /taskkill /f /QQEXE

REM 以便查看处理结果

pause>nul

—————————————————————————————————————————————

获取日期

格式: %date%

结果: 2012-07-31

获取时间

格式: %time%

结果: 10:21:2168

这是获取的系统标准格式的日期和时间,但是有时候我们需要使用规定的格式,怎么办呢

格式: %date:~x,y%以及%time:~x,y%

说明: x是开始位置,y是取得字符数

比如说我要获取完整的日期和时间,

格式: %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%

结果: 20120731111039

但是如果时间早于10点,那么只显示日期不显示时间,如:20120731,如何解决呢

格式: %date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%

结果: 20120731052539

这样就达到我们的目标,成功的得到日期和时间了。

以上就是关于求输入一个日期自动计算星期几执行拷贝命令(批处理、脚本都可以)全部的内容,包括:求输入一个日期自动计算星期几执行拷贝命令(批处理、脚本都可以)、bat或其他命令执行获取图片创建时间、如何在批处理文件中用IF语句来判断是星期几,是否执行任务,该怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10106189.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存