-1
我需要使用名爲here.bat
的蝙蝠來處理相同目錄中的文件。這裏有一個例子:
Windows蝙蝠:如何處理每個子目錄的文件
mydir
|----mybat.bat
|----here.bat
|----subdir
|-----subdir2
|-----subdir3
|-----subdir31
| |-----a.jpg
|
|-----subdir32
|-----b.jpg
我需要使用here.bat
處理a.jpg
和b.jpg
。所以我寫如下命名mybat.bat
一個bat文件:
@Echo off&SetLocal EnableExtensions EnableDelayedExpansion
For /d %%A in (.\subdir\*) Do (
Set "Files="
For /F "delims=" %%B in ('dir /S /B "%%~fA\*.jpg"') Do Set Files=!Files! "%%~fB"
If defined Files echo call here.bat !Files!
)
pause
當我執行mybat.bat
,我得到如下結果:
call here.bat "C:\Users\me\mydir\subdir\subdir2\subdir3\subdire31\a.jpg" "C:\Users\me\mydir\subdir\subdir2\subdir3\sudbir32\b.jpg"
但是這不是我所需要的。我需要處理與here.bat
位於同一目錄中的jpg
文件,如果它們不在同一個目錄中,則應單獨處理它們。這意味着我需要如下結果:
call here.bat "C:\Users\me\mydir\subdir\subdir2\subdir3\subdire31\a.jpg"
call here.bat "C:\Users\me\mydir\subdir\subdir2\subdir3\sudbir32\b.jpg"
爲什麼在[您的其他類似的問題(https://stackoverflow.com/questions/44402963/windows-bat-loop-files-in-directories)不充分的答案嗎? –
@JeffZeitlin在我看來,這是因爲其他問題中的子路徑完全不同:'subdir1 ...'和'subdir2 ...'。但是這裏的子路徑非常相似。那麼,我不確定...但你可以在這個問題上試試我的答案。我相信你會得到同樣的問題。 – Yves
但是,相同的技術應該工作,只有細節不同。您可能需要花一些時間來了解更多關於一般編程的知識,以及專門的批量編程,以便您可以自己解決這些問題,而不是反覆詢問實際上只有細微差異的問題。 –