① 如何用批處理修改文件名,將指定的文字與當前日期添加到文件名中
@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$,替換框中留空即可。