标题: [文本处理] 批处理BAT怎样将文本创建时间和文件名提取赋值给变量? [打印本页]
作者: Dana 时间: 2014-2-20 05:52 标题: 批处理BAT怎样将文本创建时间和文件名提取赋值给变量?
请教各位,
以下的代码是之前用于逐个提取D:\Backup\每个txt 文档的最后修改时间(Data modified) 和文件名, 并且各自赋予变量.
原代码返回值:
2014-02-20 05:01 AM ------文档的最后修改时间(Data modified)
206250_022LCD7N41011386_CMU ------文件名.
但是现在想逐个提取每个txt 文档的创建时间 (Date created) , 以及文件名,各自赋予变量
或者 提取每个txt 文档的读取时间 (Date accessed), 以及文件名,各自赋予变量,
请教大家以下代码改如何修改, 谢谢!- @echo off
- setlocal enabledelayedexpansion
- set "pic_dir=D:\Backup\*.txt"
- for /f %%i in ('dir /s /b %pic_dir%') do (
- set str_data=%%~ti
- set str_path=%%~ni
- echo !str_data!
- echo !str_path!
- )
- pause
复制代码
作者: hnfeng 时间: 2014-2-20 08:59
把 dir 命令的参数改一下即可:
dir /?
/T 控制显示或用来分类的时间字符域。
时间段 C 创建时间
A 上次访问时间
W 上次写入的时间
作者: edisong 时间: 2014-2-20 12:06
在这里/b和/t两个参数不能同时使用。
作者: terse 时间: 2014-2-20 12:52
不确定你的工作环境 因时间格式的不一样 或许有变化- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1* delims=:" %%a in ('dir /tc /a-d^|findstr /ib [1-2]') do (
- for /f "tokens=*" %%i in ("%%a") do set file_data=%%i
- for /f "tokens=1-2*" %%i in ("%%b") do set file_data=!file_data!:%%i&set file_name=%%k
- echo !file_data!
- echo !file_name!
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |