Назад | Перейти на главную страницу

как я могу получить имя папки и файла в Windows и сохранить его в переменной?

у меня есть папка folder1 содержать 3 файла file1 , file2 и file3 ... мне нужна командная строка для выполнения следующей задачи ... сохранить имя файла в переменной ... потому что я хочу написать динамический пакет

FOR %%f in (folder1\*) DO @echo %%f

в пакетном файле будет отображено имя каждого файла в папке. Чтобы сделать то же самое в командной строке, используйте только один знак процента для переменной. Вы можете заменить echo с какой-то другой командой.

Если вы процитируете %%f, то echo будет выводить кавычки вокруг имени файла, но если вы хотите передать имя файла другим командам, кавычки могут потребоваться, если в именах файлов есть специальные символы, такие как пробелы. Например, чтобы вывести содержимое всех файлов:

FOR %%f in (folder1\*) DO @type "%%f"

Без кавычек, если был файл с именем "Has Space", type попытается вывести содержимое двух файлов: «Имеет» и «Пробел». С кавычками все будет работать по назначению.

Предполагая, что это пакетный файл, вы можете сделать это в цикле for следующим образом:

setlocal EnableDelayedExpansion 

for %%a in (folder1\*) do (
set fileVariable=%%a
echo !fileVariable!
)

Если вы хотите перейти с пакетной версии на PowerShell:

Foreach ($file in Get-Childitem "<PATH>") {
    $file.name
}