标题: [日期时间] 批处理获取了文件的修改时间,怎么赋值给变量? [打印本页]
作者: ttbs123 时间: 2012-8-18 18:25 标题: 批处理获取了文件的修改时间,怎么赋值给变量?
在网上找了很多教程和资料,原来都是出自批处理之家论坛,耐心的等待了一个小时后,终于可以发言了,终于找到组织了。- set "pic_dir=E:\pic\"
- for /f %%i in ('dir /s /b %pic_dir%') do (
- echo %%~ti
- set str_data=%%~ti
- echo %str_data%
- )
复制代码
上面代码能输出文件的修改时间,但是我用一个变量来保存就不行了,我想获取他的分钟数
会提示这个错误:ECHO 处于关闭状态。
作者: canyuexiaolang 时间: 2012-8-18 18:32
本帖最后由 canyuexiaolang 于 2012-8-18 18:46 编辑
- @echo off & setlocal enabledelayedexpansion
- set "pic_dir=E:\pic\"
- for /f %%i in ('dir /s /b %pic_dir%') do (
- echo %%~ti
- set str_data=%%~ti
- echo !str_data!
- )
复制代码
请论坛搜索 变量延迟 获取详解
作者: ttbs123 时间: 2012-8-18 18:42
请论坛搜索 变量延迟 或许详解
canyuexiaolang 发表于 2012-8-18 18:32
版主威武,可以获取到了
但我用这种方法获取系统时间的分钟数,好像不行,不知道要怎么弄
set str_server=%time:~3,2%
echo !str_server!
作者: canyuexiaolang 时间: 2012-8-18 18:46
回复 3# ttbs123 - @echo off & setlocal enabledelayedexpansion
- set "pic_dir=E:\pic"
- for /f %%i in ('dir /s /b "%pic_dir%"') do (
- set str_data=%%~ti
- echo !str_data:~-2!
- )
- pause
复制代码
仅仅是分钟么= =
作者: ttbs123 时间: 2012-8-18 18:46
对不起是我弄错了,可以获取到
作者: canyuexiaolang 时间: 2012-8-18 18:46
回复 5# ttbs123
好吧= =
作者: ttbs123 时间: 2012-8-18 19:02
回复 ttbs123
好吧= =
canyuexiaolang 发表于 2012-8-18 18:46
我是想获取系统的分钟数,然后跟这个文件修改时间的分钟数做对比。
如果2者相减,绝对值大于10的话,就执行删除操作。
作者: ttbs123 时间: 2012-8-18 19:08
终于发帖不用计算器了
作者: ttbs123 时间: 2012-8-18 19:16
set /a aa=!str_server!-!str_data!
echo !aa!
绝对值怎么弄?
作者: ttbs123 时间: 2012-8-18 19:22
回复 ttbs123
好吧= =
canyuexiaolang 发表于 2012-8-18 18:46
set /a aa=!str_server!-!str_data!
if !aa!<0 set /a !aa!-=!aa!
echo !aa!
用这样获取绝对值好像不行,版主救我
作者: ttbs123 时间: 2012-8-18 19:29
论坛搜索了一下,
好像这样取绝对值if !aa! lss 0 (set /a !aa!*=-1)
作者: canyuexiaolang 时间: 2012-8-18 20:18
本帖最后由 canyuexiaolang 于 2012-8-18 20:22 编辑
回复 10# ttbs123
- @echo off
- set /p a=数字:
- if %a% lss 0 set /a a=-a
- echo %a%
- pause
复制代码
作者: ttbs123 时间: 2012-8-18 21:16
回复 ttbs123
canyuexiaolang 发表于 2012-8-18 20:18
谢谢你,问题解决了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |