DOS下将查询到的内容复制到粘贴板


本人是个比较懒的人,所以很多事情,即使每次花不了多少时间解决的事情,我都会选择写个小DOS批处理解决(没事就装下13呗…),虽然不怎么精通,但关键在于爱好。。


好了,下面是正文。

已知,目标目录下有一个以日期为文件名的Excel,要修改成当天的日期。
(好吧,我承认,这就是日报,每天改来改去的,就替换个日期,MMP。。)
那要如何操作双击一下自动修改成今天日期呢,找了下度娘,结合自己修改下,得出如下代码:
方案一:

@echo off

set DaysAgo=1
//设置昨天为1

set Today=%date:~0,4%%date:~5,2%%date:~8,2%
//设置今天日期,取值为今天的日期,不懂的自行在DOS里输入 echo %date%

set /a PassDays=%Today%-1
//计算昨天日期

ren 测试日报(%PassDays:~4,2%-%PassDays:~6,2%_王尼玛).xlsx 测试日报(%Today:~4,2%-%Today:~6,2%_王尼玛).xlsx & 测试日报(%Today:~4,2%-%Today:~6,2%_王尼玛).xlsx || goto :gg
//修改好日期之后顺便打开它,如果找不到当前日期的,则退出
exit

:gg

然后事实证明,在周二至周五时,确实好用,但是周一的话,日期就不对了,原理是只是修改当前日期减去一天的时间,周末双休,自然找不到礼拜天的。(毕竟没上班。。)

然后深思熟虑下,自己修改出了方案二,如下

echo.
echo.

echo 方案一失败 ,启动备用方案二 !

for /f "delims=" %%a in ('dir /b ^| find ".xlsx" ^| find "测试日报" ') do set "var=%%a"

**//此处要加粗,在for循环里括号写的某些符号需要用转义符"^",否则dos不识别**
**//而不在for循环括号的则不用加转义符"^",否则,系统也会识别不了**
**//(测试系统win10)**

ren %var% 测试日报(%Today:~4,2%-%Today:~6,2%_王尼玛).xlsx 

dir /b | find "测试日报" | clip
//最后还要把文件名复制下,放到粘贴板里面,因为钉钉上传文件太…… 呵呵了。

如果方案一失败,说明当天是周一,那就直接查询就好了,for循环一下查找(至于为什么用for循环,我也忘记了,估计当时为了装13嫌疑。。)

dir /b,find,就不多做解释了,至于 set “var=%%a”,那会是不知道找到名称后怎么操作,就只能直接放到临时变量里面,然后再修改名称,就这样,两段结合,完美。。

PS:需要代码的自行搜索标题,顺便自己添加最后一句粘贴板内容。~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值