Использование командной строки Windows для вывода списка файлов в подкаталоге
Я хочу вывести:.\ Folder1\ 1.jpg,.\ Foler1\ 2.jpg ....
Я знаю, если мы используем dir /s /b * .jpg> list.txt, который получит что-то вроде C:\ download\ folder\ folder1\ 1.jpg, я не хочу этого, мне просто нужно.\ Folder1\ 1.jpg
Разъяснение переменных (ниже)
- Если логика ниже:
FOR %X IN ("folder1","Folder2")
или SET
Folders=("Folder1","Folder2","Folder3","Folder4")
вы поместите свои "Folder1"
, "Folder2"
и так далее, с двойными кавычками и запятыми для каждого имени папки, которое вы хотите найти, и укажите список ./Foldername/file.jpg
к файлу, к которому вы добавляете вывод echo'd.
- Для примера копирования из командной строки вы захотите сделать
CD /D C:\Path
к родительскому каталогу, где подпапки, где .JPG
существуют, поскольку эта логика неявна, если вы находитесь в родительском каталоге, чтобы найти эти дочерние подпапки и содержащиеся в них типы / расширения файлов.
- Для других примеров вы просто подключите родительский каталог, который содержит все дочерние подпапки, где находится
.JPG
существуют в SET ParentDir=
и все должно работать иначе, чем ожидалось.
- Я предполагаю, что другие переменные, которые являются
SET
должны быть самоочевидными, так как они названы довольно близко к тому, что они означают, но дайте мне знать, если вам нужно дополнительное разъяснение в противном случае.
Пример копирования из командной строки
FOR %X IN ("folder1","Folder2") DO FOR /F "TOKENS=*" %F IN ('DIR /B /A-D ".\%~X\*.jpg"') DO ECHO .\%~X\%~F>>C:\Path\Log.txt
Пример копирования командной строки Set Variables
(Используйте ниже для установки имен ваших папок и расширений файлов для команды DIR
. Также вставьте полный путь к родительскому каталогу, где находятся подпапки, которые вы хотите добавить в этом формате в текстовый файл.)
SET FileType=*.jpg
SET ParentDir=C:\Users\Name\Desktop
SET Folders=("Folder1","Folder2","Folder3","Folder4")
SET LogFile=C:\Path\LogFile.txt
CD /D "%ParentDir%"
FOR %X IN %Folders% DO FOR /F "TOKENS=*" %F IN ('DIR /B /A-D ".\%~X\%FileType%"') DO ECHO .\%~X\%~F>>"%LogFile%"
Пример пакетного скрипта с настройкой переменных
@ECHO ON
SET FileType=*.jpg
SET ParentDir=C:\Users\Name\Desktop
SET Folders=("Folder1","Folder2","Folder3","Folder4")
SET LogFile=C:\Path\LogFile.txt
CD /D "%ParentDir%"
FOR %%X IN %Folders% DO FOR /F "TOKENS=*" %%F IN (
'DIR /B /A-D ".\%%~X\%FileType%"'
) DO ECHO .\%%~X\%%~F>>"%LogFile%"
GOTO EOF
Дальнейшее чтение и ресурсы