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

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

voyyager 11-06-2012 09:47 1932141

Результат Net send в текстовый файл
 
Есть автоматическая рассылка сообщений с помощью net send. Хочу отследить как отработала команда. При выполнении батника, результат виден в черном окне, а хочу видеть это в текстовом файле уже после его выполнения. На операторы > и >> ругается, что такая функция больше не поддерживается. Как же быть?

Iska 11-06-2012 10:17 1932158

Цитата:

Цитата voyyager
На операторы > и >> ругается, что такая функция больше не поддерживается. »

Как именно Вы делаете? Приведите код. Укажите, какая используется ОС для рассылки сообщений.

Код:

net.exe send * Some message 1>StdOut.txt 2>StdErr.txt

voyyager 12-06-2012 08:06 1932699

Сорри, все получилось, пробовал не удачно - на шару ввел:
net send * 1>>1.txt

Получил:
Отправка файлов более не поддерживается.

Для вызова дополнительной справки наберите NET HELPMSG 3777.

Просто если одна цифра надо было пробел поставить перед >> и все....

CyberMuesli 12-06-2012 15:02 1932895

Цитата:

Цитата voyyager
Сорри, все получилось, пробовал не удачно - на шару ввел:
net send * 1>>1.txt »

знакомая проблема :-)

echo %1>%Result% сработает не так, как хотелось бы, если %1 заканчивается единицей. Добавление пробела после %1 приведет к тому, что этот пробел попадет в файл, а это иногда бывает крайне нежелательно. Надо писать вот так:

>%Result% (echo %1)

Foreigner 12-06-2012 15:43 1932910

Цитата:

Цитата CyberMuesli
echo %1>%Result% сработает не так, как хотелось бы»

Код:

echo %1 1>%Result%
Почитайте про дескрипторы перенаправления.

CyberMuesli 12-06-2012 15:47 1932912

Цитата:

Цитата Foreigner
Почитайте про дескрипторы перенаправления. »

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

Foreigner 12-06-2012 16:11 1932926

Цитата:

Цитата CyberMuesli
Добавление пробела после %1 приведет к тому, что этот пробел попадет в файл »

Цитата:

Цитата Foreigner
Почитайте про дескрипторы перенаправления. »

Цитата:

Цитата CyberMuesli
Вы опять читаете наискосок »

Ну и где в файл %Result% попал "нежелательный" пробел? Все просто %1>%Result% интерпретируется не так, как хотелось бы. Впрочем и %2..%9, так как 0..9 дескрипторы перенаправления. 0-2 -- штатные (ввод, вывод и ошибка), остальные зарезервированные.

CyberMuesli 12-06-2012 16:26 1932936

Цитата:

Цитата Foreigner
Ну и где в файл %Result% попал "нежелательный" пробел? Все просто %1>%Result% интерпретируется не так, как хотелось бы. Впрочем и %2..%9, так как 0..9 дескрипторы перенаправления. 0-2 -- штатные (ввод, вывод и ошибка), остальные зарезервированные. »

Очень бессвязно.

Быть может, что-то непонятно в исходном сообщении. Могу пояснить.

-----
echo %1>%Result%
------
Этот казалось бы простейший код содержит потенциальную ошибку, которая проявится, если bat будет вызван например с параметром 987654321. Если попытаться устранить ее добавлением пробела, вот так

----
echo %1 >%Result%
---
то это приведет к тому, что в %Result% попадет дополнительный пробел. Иногда это не важно, а иногда крайне нежелательно. Поэтому самый правильный способ такой
---
>%Result% (echo %1)

Какие-то вопросы остались?

Foreigner 12-06-2012 16:38 1932943

Цитата:

Цитата CyberMuesli
попадет дополнительный пробел »

Если явно указать дескриптор, то не попадет. Это и хотел сказать, это не значит, что ваш способ неверен, но в данном случае скобки явно лишние.

CyberMuesli 12-06-2012 16:40 1932945

Цитата:

Цитата Foreigner
Если явно указать дескриптор, то не попадет »

приведите код

Iska 12-06-2012 16:43 1932946

Цитата:

Цитата CyberMuesli
Код:

echo %1>%Result%
Этот казалось бы простейший код содержит потенциальную ошибку, которая проявится, если bat будет вызван например с параметром 987654321. Если попытаться устранить ее добавлением пробела… Поэтому самый правильный способ такой…»

Вполне себе правильно:
Код:

echo %11>%Result%
хоть и совершенно не наглядно.
Скобки-то здесь:
Цитата:

Цитата CyberMuesli
Код:

>%Result% (echo %1)

зачем?

Одним перемещением символа перенаправления в начало команды всех проблем не решить. Хотите пример?
Код:

Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128

CyberMuesli 12-06-2012 16:50 1932951

Цитата:

Цитата Iska
Вполне себе правильно:
Код:
echo %11>%Result%
хоть и совершенно не наглядно. »

Вполне себе неправильно. Проверьте.
Цитата:

Цитата Iska
Скобки-то здесь:
>%Result% (echo %1)
зачем? »

С учебно-воспитатальными целями, чтобы было понятно, что в них можно написать кучу команд
Цитата:

Цитата Iska
Одним перемещением символа перенаправления в начало команды всех проблем не решить. Хотите пример? »

Я не хочу решить все проблемы, это решает одну конкретную проблему. Да, хочу пример.

Foreigner 12-06-2012 16:52 1932952

Цитата:

Цитата CyberMuesli
приведите код »

Смотрите выше: echo %1 1>%result%

CyberMuesli 12-06-2012 17:00 1932957

Цитата:

Цитата Foreigner
Смотрите выше: echo %1 1>%result% »

это неправильный код, в %Result% попадет пробел, который может быть совершенно не нужен там. Дополнительно, избыточно указание дескриптора 1.

Правильный код был приведен мной ранее.

Foreigner 12-06-2012 17:06 1932960

Цитата:

Цитата CyberMuesli
это неправильный код, в %Result% попадет пробел, »

У меня уже не попал. Не легче, просто проверить?

CyberMuesli 12-06-2012 17:08 1932963

Вы не правы, при echo %1 1>%result% в %Result% есть конечный пробел. Это очевидно на глаз и подтверждается проверкой.

Foreigner 12-06-2012 17:21 1932977

Цитата:

Цитата CyberMuesli
есть конечный пробел »

Извиняюсь, думал речь про лидирующие. А в фаре замыкающие не видны.

CyberMuesli 12-06-2012 17:42 1932991

Цитата:

Цитата Foreigner
А в фаре замыкающие не видны. »

Извиняюсь, но в фаре и не только в нем замыкающие и другие пробелы не видны, потому что пробел обладает таким свойством - он невидим. Но если в фаре нажать END, все становится понятно

Iska 12-06-2012 19:34 1933043

Цитата:

Цитата CyberMuesli
Вполне себе неправильно. Проверьте. »

Проверил, подтверждаю.

Цитата:

Цитата Foreigner
А в фаре замыкающие не видны. »

Цитата:

Цитата CyberMuesli
Извиняюсь, но в фаре и не только в нем замыкающие и другие пробелы не видны, потому что пробел обладает таким свойством - он невидим. »

У меня — видны (Far Manager 2.1 build 1807 bis29):


Foreigner 12-06-2012 19:37 1933045

Цитата:

Цитата Iska
У меня — видны »

Теперь и у меня видны :) Привычка бывает и вредной.


Время: 20:30.

Время: 20:30.
© OSzone.net 2001-