Я попытался перечислить все файлы и каталоги в каталоге, используя этот формат
dir1 ::: dir2 ::: ::: file1 file2 :::
Для этого я написал пакетный скрипт. Взгляните на это:
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
SET M=
FOR %%d IN ('dir /B') DO SET M=!M!%%d:::
ECHO %M%
Хорошо, он работает для каталогов / файлов, которые не содержат пробелов, но для тех, которые его содержат, он покажет только первое слово.
Например, предположим, что файлы «Blue hills.jpg» и «Sunset.jpg».
Ожидаемый результат, конечно,
Голубые холмы.jpg ::: Sunset.jpg :::
Но вместо этого появляется
Синий ::: Sunset.jpg
К вашему сведению, я использую WinXP. * Это имеет значение? Я пытался поместить кавычки в "%% d", но это не работает. Как я могу это исправить?
Спасибо за помощь! И извините за мой плохой английский, я действительно должен улучшить это ..