infoman1@vk |
10-06-2014 13:44 2362445 |
bat который будет дописывать строки в конец файла
помогите создать .bat который будет дописывать строки в конец файла. даже если нет переноса строки, то всеравно писать с начала строки.
в файл d:\123.txt дописать с новой строки
tekst tekst tekst tekst
tekst tekst tekst tekst tekst tekst tekst
tekst tekst tekst
tekst tekst tekst tekst
что то на подоби етого но он не работает
For /F "tokens=*" %%i In (d:\123.txt) Do Echo %%i.
tekst tekst tekst tekst
tekst tekst tekst tekst tekst tekst tekst
tekst tekst tekst
tekst tekst tekst tekst >tmp.txt
Copy /y tmp.txt 123.txt>Nul
Del tmp.txt
|
Вставьте первой строкой:
Код:
>>"d:\123.txt" echo.
|
Код:
@echo off
for /f %%i in ('
find /c /v ""^<"123.txt"
') do (
set m=%%i
)
for /f "delims=:" %%i in ('
findstr /n $ "123.txt"
') do (
set n=%%i
)
if not %m%==%n% (
echo.>>"123.txt"
)
for %%i in (
"tekst tekst tekst tekst "
"tekst tekst tekst tekst tekst tekst tekst "
"tekst tekst tekst "
"tekst tekst tekst tekst "
) do (
echo %%~i>>"123.txt"
)
exit /b
|
infoman1@vk |
10-06-2014 15:59 2362511 |
Цитата Georgio:
Код:
Код:
@echo off
for /f %%i in ('
find /c /v ""^<"123.txt"
') do (
set m=%%i
)
for /f "delims=:" %%i in ('
findstr /n $ "123.txt"
') do (
set n=%%i
)
if not %m%==%n% (
echo.>>"123.txt"
)
for %%i in (
"tekst tekst tekst tekst "
"tekst tekst tekst tekst tekst tekst tekst "
"tekst tekst tekst "
"tekst tekst tekst tekst "
) do (
echo %%~i>>"123.txt"
)
exit /b
»
вовсе ничего не делает
я создал 2 файла
22.bat
Код:
@echo off
for /f %%i in ('
find /c /v ""^<"123.txt"
') do (
set m=%%i
)
for /f "delims=:" %%i in ('
findstr /n $ "123.txt"
') do (
set n=%%i
)
if not %m%==%n% (
echo.>>"123.txt"
)
for %%i in (
"tekst tekst tekst tekst "
"tekst tekst tekst tekst tekst tekst tekst "
"tekst tekst tekst "
"tekst tekst tekst tekst "
) do (
echo %%~i>>"123.txt"
)
exit /b
123.txt
запустил 22.bat
и файл 123.txt так и остался не тронутым а по идеи должно было получится
Код:
file 123
tekst tekst tekst tekst
tekst tekst tekst tekst tekst tekst tekst
tekst tekst tekst
tekst tekst tekst tekst
|
Код:
@echo off
for /f %%i in ('
find /c /v ""^<"123.txt"
') do (
set m=%%i
)
for /f "delims=:" %%i in ('
findstr /n $ "123.txt"
') do (
set n=%%i
)
if not "%m%"=="%n%" (
echo.>>"123.txt"
)
for %%i in (
"tekst tekst tekst tekst "
"tekst tekst tekst tekst tekst tekst tekst "
"tekst tekst tekst "
"tekst tekst tekst tekst "
) do (
echo %%~i>>"123.txt"
)
exit /b
|
infoman1@vk |
10-06-2014 16:57 2362536 |
супер то что нужно
|
infoman1@vk, вот так ещё точнее:
Код:
@echo off
(
for /f %%i in ('
find /c /v ""^<"123.txt"
') do (
set m=%%i
)
)|| set m=0
(
for /f "delims=:" %%i in ('
findstr /n $ "123.txt"
') do (
set n=%%i
)
)|| set n=0
if %n% lss %m% (
echo.>>"123.txt"
)
for %%i in (
"tekst tekst tekst tekst "
"tekst tekst tekst tekst tekst tekst tekst "
"tekst tekst tekst "
"tekst tekst tekst tekst "
) do (
echo %%~i>>"123.txt"
)
exit /b
.
|
alkogoliksasha |
11-07-2014 20:31 2375393 |
а как сделать так так чтобы скрипт рекурсивно искал по маске файла(*.txt ) и дописывал в конец строку текста?
|
Код:
@echo off
for /r "D:\Test" %%i in (*.txt) do (
(
for /f %%j in ('
find /c /v ""^<"%%i"
') do (
set m=%%j
)
)|| set m=0
(
for /f "delims=:" %%j in ('
findstr /n $ "%%i"
') do (
set n=%%j
)
)|| set n=0
for /f "tokens=1,2" %%j in ('
call echo %%m%% %%n%%
') do (
if %%k lss %%j (
echo.>>"%%i"
)
)
chcp 1251>nul
for /f "eol= delims=" %%j in ("строка текста") do (
chcp 866>nul
echo %%j>>"%%i"
)
)
exit /b
|
alkogoliksasha |
11-07-2014 22:21 2375425 |
Большое спасибо,все работает.
|
Время: 22:18.
© OSzone.net 2001-