CMD/BAT - с новой строки

Аватара пользователя
Freddy1984

CMD/BAT - с новой строки

Сообщение Freddy1984 »

Здравствуйте!

Есть вопрос по записи текста с новой строки.

Подробней.

Вот так:

> 1.txt echo первый

в файл запишется слово первый, это понятно.

А хотелось бы если это возможно сделать так: > 1.txt echo первый второй что бы второй был с новой строки.

Пробовал > 1.txt echo первый echo. второй так не получается.

Вообще возможно слово второй автоматом писать с новой строки следом за первый ?
Аватара пользователя
greg zakharov

Re: CMD/BAT - с новой строки

Сообщение greg zakharov »

В чем сложность? В пакетном режиме:



Код:

Код: Выделить всё

@echo off
  >out.txt (
    echo:first
    echo:second
    echo:third
  )
exit /b

В консоли:



Код:

Код: Выделить всё

E:\> type con>out.txt
first
second
third
^Z

^Z - это нажатие Ctrl+Z.
Аватара пользователя
Iska

Re: CMD/BAT - с новой строки

Сообщение Iska »

Цитата Freddy1984:



А хотелось бы если это возможно сделать так: > 1.txt echo первый второй что бы второй был с новой строки.



Вообще возможно слово второй автоматом писать с новой строки следом за первый ?
CMD/BAT - с новой строки




Разве что процедурой оформить. Например:



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

@echo off
setlocal enableextensions enabledelayedexpansion
call :Write первый второй третий
endlocal
exit /b 0
:Write
	set sValue=%1
	if defined sValue (
		echo %sValue%
		shift
		goto :Write
	)
	exit /b 0
Аватара пользователя
Freddy1984

Re: CMD/BAT - с новой строки

Сообщение Freddy1984 »

Благодарю вас ребята!

Самый первый вариант подошел просто идеально, вариант Iska беру на заметку как довольно интересный подход. Изображение
Аватара пользователя
Freddy1984

Re: CMD/BAT - с новой строки

Сообщение Freddy1984 »

Еще вариант

[spoiler]Код:
[/spoiler]

Код: Выделить всё

@echo Off
>"file.txt" (FOR %%s IN (первый второй третий "у попа была собака" "поп её любил" сотый "сто двадцать пятый") DO Echo %%~s)

или то же самое

Код:

Код: Выделить всё

@echo Off
Set "FileOut=file.txt"
Set "Str=первый второй третий "у попа была собака" "поп её любил" сотый"
>"%FileOut%" (FOR %%s IN (%Str%) DO Echo %%~s)
Аватара пользователя
alpap

Re: CMD/BAT - с новой строки

Сообщение alpap »

Цитата Freddy1984:



Пробовал > 1.txt echo первый echo. второй
CMD/BAT - с новой строки




а надо было всего лишь добавить &



Код:

Код: Выделить всё

>1.txt (echo Первый& echo Второй& echo Третий)
Аватара пользователя
sov44

Re: CMD/BAT - с новой строки

Сообщение sov44 »

Не нашел подходящей темы, спрошу тут. Нужно отдельном окне консоли запустить несколько команд, причём команды должны быть записаны с новой строки. т.е. преобразовать строку вида

Код:

Код: Выделить всё

@echo off
start /wait cmd /c "echo 111& echo 222 &pause"
pause

в что-то типа

Код:

Код: Выделить всё

@echo off
start /wait cmd /c "^
echo 111 &^
echo 222 &^
pause"
pause
Аватара пользователя
Iska

Re: CMD/BAT - с новой строки

Сообщение Iska »

Цитата sov44:



причём команды должны быть записаны с новой строки
CMD/BAT - с новой строки




1. Должны быть записаны с новой строки в исходном пакетном файле или же должны быть записаны отображаться с новой строки в отдельном окне консоли?

2. Почему сие так принципиально? Какова цель и задача этого, для чего служит сие?
Аватара пользователя
sov44

Re: CMD/BAT - с новой строки

Сообщение sov44 »

Iska, реальная строчка строчка start /wait cmd /c ..... получается слишком длинная, нужно её разбить с переносом команд. Оптимизация кода и косметика. Нужен принцип.
Аватара пользователя
YuS_2

Re: CMD/BAT - с новой строки

Сообщение YuS_2 »

Цитата sov44:



Нужно отдельном окне консоли запустить несколько команд, причём команды должны быть записаны с новой строки.
CMD/BAT - с новой строки




непонятно зачем, но аналог:



Код:

Код: Выделить всё

@echo off
start "" /wait cmd /c (
echo 111
echo 222
pause
)
pause

правда нового окна, как раз, не будет.

А зачем, если не секрет?
Ответить

Вернуться в «Скриптовые языки администрирования Windows»