Dos遞迴遍歷目錄檔案(支援環境變數延遲擴充套件)

2021-08-14 06:57:17 字數 595 閱讀 5478

目前internet上上充斥的dos遞迴遍歷目錄檔案都不支援環境變數延遲擴充套件,從而導致在對遍歷出的檔案進行進一步處理的時候會出現問題。本文提供了一種支援環境變數延遲擴充套件的目錄檔案遍歷方式。

echo off

setlocal enabledelayedexpansion

::指定起始資料夾

setdir="%cd%"

:: 引數 /r 表示需要遍歷子資料夾,去掉表示不遍歷子資料夾

:: %%f 是乙個變數,類似於迭代器,但是這個變數只能由乙個字母組成,前面帶上%%

:: 括號中是萬用字元,可以指定字尾名,*.*表示所有檔案

for /r %dir%

%%fin (*.pdf) do (

setlocal

echo "%%f"

set inputfile="%%f"

set "outputfile=!inputfile:.pdf=版.pdf!"

:: [command]替換為需要處理的命令

del!inputfile!

endlocal

)pause

echo on

遞迴遍歷目錄

遞迴 乙個函式內部在其內部不呼叫其他函式,而是呼叫自身,類似迴圈 注,自己玩自己,防止死遞迴 使用遞迴來遍歷出乙個目錄中的所有檔案 import os def getalldirre path,sp 引數 路徑 返回值 none 完成功能,獲取呼叫者傳遞的路徑下的所有檔案 檔案 直接顯示,資料夾 二...

遞迴遍歷目錄下的檔案

關於目錄檔案的分析 lib src vim lib,src,都是目錄檔案,而vim是普通檔案 opendir 返回乙個dir readdir dir 返回乙個dirent 結構的指標 struct dirent long d ino inode number 索引節點號 off t d off of...

Shell遞迴遍歷目錄下檔案

遍歷linux某目錄下的所有檔案 bin bash 1是執行指令碼時,輸入的第乙個引數,這裡指的是使用者希望搜尋的目錄 下面的 是對目錄進行判斷,如果為空則使用指令碼所在的目錄 否則,搜尋使用者輸入的目錄 if z 1 d 1 then echo the directory is empty or ...