Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Создать список файлов с квадратными кавычками (http://forum.oszone.net/showthread.php?t=355158)

minutka15 18-04-2024 13:39 3026591

Создать список файлов с квадратными кавычками
 
Нужно создать список .ехе файлов в out.txt из папки таким образом:
[filename1.exe]
и под каждым именем добавить
MyData=
Desc=
Param=

minutka15 18-04-2024 19:49 3026600

Пол пути прошел по топорному, осталось вставить между строчками

MyData=
Desc=
Param=

Код:

@Echo Off
cls
      dir /b *.exe > out.txt
      Set "FileIn=%cd%\out.txt"
      for /f "delims=" %%i in ('findstr/n "^" "%FileIn%"^& del/a/f "%FileIn%"') do set x=%%i& >>"%FileIn%" cmd/v/c echo [!x:*:=!
      for /f "delims=" %%i in ('type "%FileIn%"^& ^>"%FileIn%" rem:') do >>"%FileIn%" echo %%i]
Exit /B

Кто знает как между строк вставлять строки ?

NickM 18-04-2024 19:53 3026601

Пустая строка?
Код:

echo.
Если с новой строки, то:
Код:

echo.Текст

NickM 18-04-2024 20:13 3026602

И да не совсем понятно, что Вам требуется.

Цитата:

Цитата minutka15
и под каждым именем добавить
MyData=
Desc=
Param= »

, эти данные откуда берутся/ каким образом заполняются?

minutka15 18-04-2024 20:22 3026603

Цитата:

Цитата NickM
И да не совсем понятно, что Вам требуется. »

Под каждым именем файла эти данные нужно тупо вставить.

Например запускаем dir /b *.exe > out.txt
и получаем список exe файлов

filename1.exe
filename2.exe
filename3.exe

но мне нужно с такой структурой
[filename1.exe]
MyData=
Desc=
Param=

[filename2.exe]
MyData=
Desc=
Param=

[filename3.exe]
MyData=
Desc=
Param=

вот и гуляю в поисках решения собирая куски скриптов с добавлением [ ] в начало и конец..

sov44 18-04-2024 20:22 3026604

Код:

@echo off
setlocal enabledelayedexpansion

set in=d:\my_folder

for /f "delims=" %%a in ('dir /b /s /a-d "%in%\*.exe" 2^>nul') do (
(echo.
echo %%~a
echo [%%~nxa]
echo MyData=
echo Desc=
echo Param=) >>"%in%\out1.txt"
)
pause
exit /b


minutka15 18-04-2024 20:42 3026606

Цитата:

Цитата sov44
@echo off
setlocal enabledelayedexpansion
set in=d:\my_folder
for /f "delims=" %%a in ('dir /b /s /a-d "%in%\*.exe" 2^>nul') do (
(echo.
echo %%~a
echo [%%~nxa]
echo MyData=
echo Desc=
echo Param=) >>"%in%\out1.txt"
)
pause
exit /b »

Спасибо!
однако получается не совсем то..

d:\my_folder\filename.exe <- получается с этой строкой которая тут не нужна, а все остальное точь в точь!
[filename.exe]
MyData=
Desc=
Param=


А вот так получилось!

Код:

@echo off
setlocal enabledelayedexpansion

set in=d:\my_folder

for /f "delims=" %%a in ('dir /b /a-d "%in%\*.exe" 2^>nul') do (
(echo.

echo [%%~nxa]
echo MyData=
echo Desc=
echo Param=) >>"%in%\out1.txt"
)
pause
exit /b

БЛАГОДАРЮ

megaloman 19-04-2024 14:23 3026621

Так тоже получается
Код:

@Echo Off &cls &>nul chcp 1251
        Set "BoxIn=Z:\Box_In"
rem        Set "BoxIn=%~dp0"
        Set "Mask=*.exe"
        Set "FileOut=%BoxIn%\Out.txt"

        Pushd "%BoxIn%" || (Echo "%BoxIn%" Not found &Pause &Exit /B 2)
                >"%FileOut%" (For %%f In ("%Mask%") Do (
                        Echo [%%~nxf]
                        Echo MyData=
                        Echo Desc=
                        Echo Param=
                        Echo.
                )
        )
        Popd
Exit /B


minutka15 20-04-2024 13:07 3026637

Цитата:

Цитата megaloman
Так тоже получается »

я и не сомневаюсь :)
Спасибо !


Время: 13:07.

Время: 13:07.
© OSzone.net 2001-