Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > Командная строка и текстовые файлы


Автор: proggis 5.5.2008, 08:55
Доброго времени суток.

Подскажите,пл каки способом открыть текстовый файл из командной строки и дописать в конец текст с клавы?
после этого требуется отсортировать файлы.Как это сделать?
заранее благодарен

Автор: Naghual 5.5.2008, 10:48
Код

copy flie.txt+con newfile.txt
copy newfile.txt flie.txt /Y
del newfile.txt /Q


А про сортировку вопрос не понял

Автор: proggis 6.5.2008, 07:47
отсортировать-упорядочить,например по алфавиту.

спс за пример,пргосто думал есть команда,берущая вводимую строку,и направит её в файл с помощью >

Автор: 01MDM 11.5.2008, 16:30
proggis, 

Простейший вариант, дописывает одну строку в конец файла, без учета кодировки и возможности дописать несколько строк:
Код

@echo off
type %1
set /p line=
echo %line%>>%1


Вызываешь батник с названием текстового файла в качестве аргумента (например: writer test.txt)

Цитата(proggis @  6.5.2008,  07:47 Найти цитируемый пост)
отсортировать-упорядочить,например по алфавиту.


sort /?

Автор: proggis 11.5.2008, 17:45
точно=)сорт самое то=)
спасибо за пример,но проблема такая:он берет значение стороки не то,которое ввёл во время выполнения файла,а предыдущее=(

Автор: 01MDM 11.5.2008, 20:54
Цитата(proggis @  11.5.2008,  17:45 Найти цитируемый пост)
но проблема такая:он берет значение стороки не то,которое ввёл во время выполнения файла,а предыдущее=( 


Приведи "пример из жизни". Не совсем ясно  smile 

Автор: proggis 12.5.2008, 21:14
запускаешь батник,вводишь строку,результат нулевой.
следующий раз запускаешь,набираешь новуую строку,а в файл пишет первую=)

Автор: 01MDM 13.5.2008, 07:47
proggis, 

строку в файл можно добавить просто командой echo
Код

echo твоя строка>>test.txt 



А это переделанный вариант
Код

@echo off
setlocal

if not exist %1 (cd.>%1)
chcp 1251>nul

:newline
cls
echo.
echo Enter "!q" to exit
echo ------------------
type %1
set /p line=": "
if "%line%"=="" (echo.>>%1) else (echo %line%>>%1)
if not "%line%"=="!q" (goto:newline)

cls
echo.
echo Done
echo ------------------
type %1
chcp 866>nul

Автор: proggis 17.5.2008, 09:47
ага,спасибо,разобрался с направление потока и echo=)
поковырял и и всё зработало,как надо=)
так вот насчёт команды sort...=(мне требуется просто отсортировать текстовые файлы в папке по именам.
никак не выходит,задаю папку-он пишет неверное имя диска,папки или файла.Чаво тут делать?

Автор: 01MDM 17.5.2008, 15:29
Код

dir /b /o:n "d:\some folder\*.txt"

Отсортирует *.txt по алфавиту в папке D:\some folder

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)