Создать список файлов с квадратными кавычками
Нужно создать список .ехе файлов в out.txt из папки таким образом:
[filename1.exe]
и под каждым именем добавить
MyData=
Desc=
Param=
|
Пол пути прошел по топорному, осталось вставить между строчками
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
Кто знает как между строк вставлять строки ?
|
Пустая строка?
Если с новой строки, то:
|
И да не совсем понятно, что Вам требуется.
Цитата:
Цитата minutka15
и под каждым именем добавить
MyData=
Desc=
Param= »
|
, эти данные откуда берутся/ каким образом заполняются?
|
Цитата:
Цитата 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=
вот и гуляю в поисках решения собирая куски скриптов с добавлением [ ] в начало и конец..
|
Код:
@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
|
Цитата:
Цитата 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
БЛАГОДАРЮ
|
Так тоже получается
Код:
@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
|
я и не сомневаюсь :)
Спасибо !
|
Время: 13:07.
© OSzone.net 2001-