我有一个要在目录中查找的文件列表。它们都是 JPG 文件。我需要知道如何返回一个只会在目录中出现一次的值。这将在现有的 FOR 循环中,因为 For 循环的重点是实际打印出缺失文件的列表。
以下是部分代码清单:
for %%C in (front back cd artist icon) do (
if not exist "%%~B\%%~C.jpg" (
if %AlbumInfo% == 0 (
echo %%~nxA - %%~nxB
set AlbumInfo = 1
)
echo Missing: %%C.jpg
)
)
所以基本上,我想知道专辑目录中是否存在(正面背面 CD 艺术家图标)中的任何项目,如果存在,则打印一次专辑 - 艺术家行。现在,它会为每个丢失的文件打印它,以及丢失的文件本身。我尝试使用变量 AlbumInfo 来协助完成此操作,方法是将其设置为 0 或 1。没有运气。我该如何使用代码中显示的文件列表名称来做到这一点?如果有必要,我可以发布整个代码。
以下是所需输出的示例:
Album - Artist
<list files missing>
答案1
最终代码。请参阅下面的评论以了解更改。
for %%C in (front back cd artist icon) do (
if not exist "%%~B\%%~C.jpg" (
if !AlbumInfo! == 0 (
echo %%~nxA - %%~nxB
set /A album += 1
set "Albuminfo=1"
)
echo Missing: %%C.jpg
set /A missing += 1
)
)
我在使用此代码时遇到两个问题,并给出了解决办法:
设置此项:
if %AlbumInfo% == 0 (
对此:
if !AlbumInfo! == 0 (
设置此项:
set Albuminfo=1
对此:
set "Albuminfo=1"