Войти

Показать полную графическую версию : CMD/BAT -Нужно создать текстовый документ и записать все названия файлов


Ilmira
18-04-2024, 09:59
Нужно создать текстовый документ и записать все названия файлов в папке
Пример
Файлы названы:
01_test
02_test
нужно записать в текстовом документе:
/fsdfs/fgsdf/01_test
/fsdfs/fgsdf/02_test
Помогите пожалуйста как можно создать батник чтобы выполнял эти функции

NickM
18-04-2024, 12:39
В том числе и из вложенных директорий:
@echo off
dir %~dp0*.* /b /s /a-d > file.txt

Ilmira
18-04-2024, 12:46
Файл создается, но названия не пишутся
В том числе и из вложенных директорий:
Код:
@echo off
dir %~dp0*.* /b /s /a-d > file.txt »

NickM
18-04-2024, 12:57
Так, стоп - Вам нужен листинг директории или требуется сформировать какой-то статический префикс + наименование файла в текущей директории?

или требуется сформировать какой-то статический префикс + наименование файла в текущей директории? »
@echo off
set "prefix=/fsdfs/fgsdf/"
for /f "tokens=* delims=" %%A in ('dir %~dp0*.* /b /a-d') do (
echo.%prefix%%%~nxA >> file.txt
)

Ilmira
18-04-2024, 13:17
Нужно сформировать файл + записать все названия файлов в этот самый файл с припиской
Так он выводит все названия файлов, но нужна приписка к названию спереди
@echo off
chcp 1251
dir /b > file.txt

NickM
18-04-2024, 13:26
Нужно сформировать файл + записать все названия файлов в этот самый файл с припиской »
В текущем каталоге формируем файл file.txt, в котором будет список файлов текущего каталога с указанием полного пути:
@echo off
for /f "tokens=* delims=" %%A in ('dir %~dp0*.* /b /a-d') do (
echo.%~dp0%%~nxA >> file.txt
)


С префиксом код предложен в предыдущем сообщении.

Ilmira
18-04-2024, 15:52
Вставил с префиксом но не выводит в файл ни одну информацию@echo off
for /f "tokens=* delims=" %%A in ('dir %~dp0*.* /b /a-d') do (
echo.%~dp0%%~nxA >> file.txt
) »

NickM
18-04-2024, 15:59
но не выводит в файл ни одну информацию »
Пробелы в путях директорий - это зло:
@echo off
set "prefix=/fsdfs/fgsdf/"
for /f "tokens=* delims=" %%A in ('dir "%~dp0*.*" /b /a-d') do (
echo.%prefix%%%~nxA >> "%~dp0file.txt"
)

megaloman
19-04-2024, 10:34
@Echo Off &cls &>nul chcp 1251
Set "BoxIn=Z:\Box_In"
rem Set "BoxIn=%~dp0"
Set "Mask=*.*"
Set "Prefix=/fsdfs/fgsdf/"

Set "FileOut=D:\FileReestr.txt"
rem Set "FileOut=%~dp0FileReestr.txt"

Pushd "%BoxIn%" || (Echo "%BoxIn%" Not found &Pause &Exit /B 2)

>"%FileOut%" (For /R %%f In ("%Mask%") Do Echo %Prefix%%%~nxf)
Popd
pause
Exit /BПуть к папке, файла с результатами пропишите свои.
Если папка та, в которой батник, используйте закомментированный путь.




© OSzone.net 2001-2012