
不清楚你的实际文件/情况,仅以问题中的说明为据
复制粘贴到记事本,另存为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命令获取文件名、文件路径、修改日期并列表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)