① 如何用批处理修改文件名,将指定的文字与当前日期添加到文件名中
@echo off
rem 将当前目录下.txt文件名修改成“源文件名+word+当前扮顷日期.原扩展名”,包括子目录
set d=%date:/好握=-%
set d=%date:-=%
set d=%d:~0,-4%
for /f "delims=*" %%i in ('dir /s/b/a-d *.txt') do ren "%%i"厅袜陆 "%%~niword%d%%%~xi"
即123.txt --> 123word20100401.txt
即abc\123.txt --> abc\123word20100401.txt
补充回答
后缀不限
@echo off
set d=%date:/=-%
set d=%date:-=%
set d=%d:~0,-4%
for /f "delims=*" %%i in ('dir /s/b/a-d *.txt') do ren "%%i" "%%~niword%d%.xxx"
② 关于批处理以时间为文件名的问题。
if"%TIME:~0,1%"==""(setNewTime=0%TIME:~1,7%)else(setNewTime=%TIME:~0,8%)
setYmdt=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%NewTime::=%
③ 批处理 提取指定文件夹内的文件名和日期
不清楚你的实际文件/情况,仅以问题中的说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echooff
rem提取指定文件夹/目录下所有文件的文件名和修改时间
modeconlines=3000
set#=Anyquestion&set@=WX&set$=Q&set/az=0x53b7e0b4
title%#%+%$%%$%/%@%%z%
cd/d"%~dp0"
set"folder=D:xxx指定文件夹"
set"outfile=#result.csv"
ifnotexist"%folder%"(echo;"%folder%"nofound&gotoend)
if"%folder:~-1%"equ""(set"folder=%folder:~,-1%")
(echo;Setfso=CreateObject^("Scripting.Filesystemobject"^)
echo;DoWhileWSH.StdIn.AtEndOfStream=False
echo;line=WSH.StdIn.ReadLine
echo;Setf=fso.GetFile^(line^)
echo;WSH.echoline^&"|"^&f.DateLastModified
echo;Loop)>"%tmp%v.v"
for/f"tokens=1*delims=|"%%ain('dir/a-d/b/s"%folder%"2^>nul^|cscript-nologo-e:vbscript"%tmp%v.v"')do(
echo;"%%~nxa",%%b
)
:end
echo;%#%+%$%%$%/%@%%z%
pause
exit
④ 如何用批处理获取当前文件夹里面所有文件的文件名及修改日期并生成txt文件
@echo off
for /f "delims=" %%a in ('dir /a-d/s/b') do (
echo 修改日期:%%~ta 文件名:%%~na>>3.txt
)
sort 3.txt>>4.txt&del 3.txt
pause
列出当前目录的文件名及修改日期,望采纳,
⑤ 文件名末尾的日期可以批量删除吗
可以的。比如使用批处理,Office的宏代码,或者VBS代码都行。也可以使用支持批量更名的工具软件,比如:
百--宝---箱V10.0
的主界面的删除功能卡,从末尾开始删除共11位数,或者使用其拓展界面的样式正则更名功能卡,正则表达式为,查找框中输入:\d$,替换框中留空即可。