批处理 提取指定文件夹内的文件名和日期

批处理 提取指定文件夹内的文件名和日期,第1张

不清楚你的实际文件/情况,仅以问题中的说明为据

复制粘贴到记事本,另存为xxbat,编码选ANSI@echo off

rem 提取指定文件夹/目录下所有文件的文件名和修改时间

mode con lines=3000

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

title %#% +%$%%$%/%@% %z%

cd /d "%~dp0"

set "folder=D:\xxx\指定文件夹"

set "outfile=#resultcsv"

if not exist "%folder%" (echo;"%folder%" no found&goto end)

if "%folder:~-1%" equ "\" (set "folder=%folder:~,-1%")

(echo;Set fso=CreateObject^("ScriptingFilesystemobject"^)

echo;Do While WSHStdInAtEndOfStream=False

echo;line=WSHStdInReadLine

echo;Set f=fsoGetFile^(line^)

echo;WSHecho line ^& "|" ^& fDateLastModified

echo;Loop)>"%tmp%\vv"

for /f "tokens=1 delims=|" %%a in ('dir /a-d/b/s "%folder%\" 2^>nul^|cscript -nologo -e:vbscript "%tmp%\vv"') do (

    echo;"%%~nxa",%%b

)

:end

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

pause

exit

@echorem

set ThisDay=%date:~0,4%%date:~5,2%%date:~8,2%

rem 获取时间

if "%time:~0,2%" lss "10" (

set ThisTime=0%time:~1,1%%time:~3,2%

) else (

set ThisTime=%time:~0,2%%time:~3,2%

)

set Now=%ThisDay%%ThisTime%

rem 复制并重命名

copy /y "d:\atxt" "d:\DATA%Now%txt"

试试吧

@Echo off

:: +-----------------------------------------------+ ::

:: | BAT-GO团员wkdxz At:2010-08-21 13:58:43 | ::

:: +-----------------------------------------------+ ::

setlocal enabledelayedexpansion&pushd %~dp0

(for %%b in ("D:\My Documents\01" "D:\My Documents\02" "D:\My Documents\03" "D:\My Documents\04") do for /f "delims=" %%a in ('dir /s/b/a-d "%%~b\a" 2^>nul') do (

set xz=%%~ta

echo %%~nxa,%%~dpa,!xz:~,10!))>xzcsv

set /p choise=是否要立刻打开列表文件(y/n)[y]:

if /i "%choise%"==n (exit /b) else start "" xzcsv

1、新建一个txt文件

2、在里输入内容

@date

2008-04-30

//上面是你要修改回来的日期

@time

15:25

//上面是你要修改回来的时间

3、另存成后缀为bat或cmd文件

set d=%date:~,10%

set d=%d:-=%

set d=%d:/=%

set t=%time:~,8%

set t=%t::=%

set t=%t: =0%

echo %d%%t%

不方便测试,提点思路。

只获取text文件只需要在dir /a-d /b 后面加上 text

bat对于日期计算很不友好。如果只整理一周前的,建议用 robocopy "%%~dpa"  "%TarDir%/!write_date!" "/%%~nxa" /MINAGE:7 /MOV

改保存路径只需给上一条里面的 %TarDir% 指定个路径

for 一句是为了遍历文件,用%%~ta获取文件的日期。提醒一下,我不确定这是修改日期还是创建日期

一种方法是使用一个命令行工具叫做 TimeBackexe,它可以修改文件的创建时间和修改时间。您可以下载这个工具,并将它和一个批处理脚本放在同一个文件夹下,然后运行批处理脚本。批处理脚本的内容大致如下:

@echo off

for %%a in (mp4) do (

for /f "tokens=1-6 delims=/: " %%b in ('TimeBack /f "%%a" ^| find "创建时间"') do (

ren "%%a" "%%a-%%b%%c%%d-%%e%%fmp4"

)

)

这个脚本会遍历当前文件夹下的所有 mp4 文件,读取它们的创建时间,并在文件名后面加上日期和时间。如果您想修改时间格式或者其他细节,您可以根据自己的需要修改脚本。

另一种方法是使用一个软件叫做 Bulk Rename Utility,它是一个强大的批量重命名工具,支持多种规则和选项。您可以下载并安装这个软件,然后打开它,选择您想要重命名的 mp4 文件,在右侧的面板中设置好重命名规则,并点击开始按钮。重命名规则中有一个选项叫做 Date (7) ,它可以让您根据文件的创建日期或者修改日期来重命名文件。您可以在这里选择合适的日期格式和分隔符。

以上就是关于批处理 提取指定文件夹内的文件名和日期全部的内容,包括:批处理 提取指定文件夹内的文件名和日期、bat怎样能够生成带年月日时的文件名、高分求助-用bat命令获取文件名、文件路径、修改日期并列表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9378148.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存