Board logo

标题: [文件操作] 批处理如何获取指定目录下/文件夹里所有子文件夹和文件的创建时间? [打印本页]

作者: raker    时间: 2011-1-6 21:45     标题: 批处理如何获取指定目录下/文件夹里所有子文件夹和文件的创建时间?

本帖最后由 pcl_test 于 2016-7-16 00:14 编辑

怎么利用批处理实现以下两个功能:
1、从指定驱动器/文件夹读取里面所有子文件夹和文件的创建时间,并将创建时间存储到指定的文本文件;
2、按指定的文本文件内容修改 指定驱动器/文件夹内所有文件夹和文件的创建时间。

请问用批处理如何实现以上两个功能?谢谢
作者: hanyeguxing    时间: 2011-1-6 22:04

1:
  1. @echo off
  2. (for /f "delims=" %%a in ('dir /s/tc "d:\123"') do echo %%a)>创建.txt
复制代码
2:http://bbs.bathome.net/thread-8242-1-1.html
作者: raker    时间: 2011-1-6 22:14

原帖由 hanyeguxing 于 2011-1-6 22:04 发表
1:@echo off
(for /f "delims=" %%a in ('dir /s/tc "d:\123"') do echo %%a)>创建.txt2:http://bbs.bathome.net/thread-8242-1-1.html

试验了,谢谢。不过这只能获取创建时间啊,而且我想将获取的文件夹或文件时间精确到秒。
作者: hanyeguxing    时间: 2011-1-6 22:32

速度很慢:
  1. @echo off
  2. (for /f "delims=" %%a in ('dir /s/b/a-d "d:\123"') do (
  3.         set a=%%a
  4.         setlocal enabledelayedexpansion
  5.         set/p=!a! <nul
  6.         for /f "tokens=2 delims==+" %%b in ('wmic datafile where name^="!a:\=\\!" get CreationDate/value') do echo %%b
  7.         Endlocal
  8. ))>创建.txt
复制代码
或:
  1. @echo off
  2. (for /f "delims=" %%a in ('dir /s/b/a-d "d:\123"') do (
  3.         set a=%%a
  4.         setlocal enabledelayedexpansion
  5.         set/p=!a! <nul
  6.         for /f "tokens=2 delims==." %%b in ('wmic datafile where name^="!a:\=\\!" get CreationDate/value') do echo %%b
  7.         Endlocal
  8. ))>创建.txt
复制代码

[ 本帖最后由 hanyeguxing 于 2011-1-6 22:33 编辑 ]
作者: raker    时间: 2011-1-6 23:22

原帖由 hanyeguxing 于 2011-1-6 22:32 发表
速度很慢:@echo off
(for /f "delims=" %%a in ('dir /s/b/a-d "d:\123"') do (
        set a=%%a
        setlocal enabledelayedexpansion
        set/p=!a! 创建.txt或:@echo off
(for /f "delims=" %%a ...
恩,谢谢。第二个代码显示的时间看着好些,但是文件夹时间没有了,没获取到文件夹时间




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2