eri*_*mon 9 windows command-line directory-listing
我想使用 Windows 命令行列出带有路径的文件。
例如:
~\folder1
\1.jpg
\2.jpg
~\folder2
\01.jpg
\02.jpg
Run Code Online (Sandbox Code Playgroud)
我希望输出类似于相对路径而不是完整路径:
.\folder1\1.jpg
.\foler1\2.jpg
Run Code Online (Sandbox Code Playgroud)
当我使用DIR /S /B *.jpg > list.txt
它列出完整路径时C:\download\folder\folder1\1.jpg
,我只需要它列出相对路径,例如.\folder1\1.jpg
......
使用 的 Linux 命令行find ./ -iname *.jpg > list.txt
,给了我预期的结果,但我需要一个可以在 Windows 上工作的解决方案。
使用 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
CD /D C:\Path
对文件所在的子文件夹所在的父目录执行 a 操作.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
Run Code Online (Sandbox Code Playgroud)
(使用下面的内容设置命令的文件夹名称和文件扩展名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%"
Run Code Online (Sandbox Code Playgroud)
@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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9170 次 |
最近记录: |