Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Avalanche
Зарегистрирован: 10.03.2004 Сообщения: 95 Откуда: г.Норильск
|
Добавлено: Чт Июл 20 2006 05:05 Заголовок сообщения: Скрипт |
|
|
Помогите есть скрипт
var WshShell = WScript.CreateObject("WScript.Shell");
var objEnv = WshShell.Environment("Process");
var file1 = objEnv("SYSTEMROOT") + "\\system32\\drivers\\etc\\services";
var ForAppending = 8;
var Text = "sapmsPN0 3600/tcp";
var fso = WScript.CreateObject("Scripting.FileSystemObject");
if (fso.FileExists(file1))
{
var txtStream = fso.OpenTextFile(file1,ForAppending, true);
txtStream.WriteLine(Text);
// WScript.Echo( "Text file" + file1 + "extended." );
}
else
WScript.Echo("File" + file1 + "not found.");
Он добавляет стоку sapmsPN0 3600/tcp в файл services
Подскажите как сделать проверку т.е. если в файле уже есть строка то не добавлять новую? |
|
Вернуться к началу |
|
 |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Чт Июл 20 2006 11:00 Заголовок сообщения: |
|
|
Цитата: | var WshShell = WScript.CreateObject("WScript.Shell");
var objEnv = WshShell.Environment("Process");
var file1 = objEnv("SYSTEMROOT") + "\\system32\\drivers\\etc\\services";
var ForAppending = 8;
var Text = "sapmsPN0 3600/tcp";
var fso = WScript.CreateObject("Scripting.FileSystemObject");
if (fso.FileExists(file1))
{
var txtStream = fso.OpenTextFile(file1,ForAppending, true);
txtStream.WriteLine(Text);
// WScript.Echo( "Text file" + file1 + "extended." );
}
else
WScript.Echo("File" + file1 + "not found."); |
Во, блин!
То, что раньше делалось как echo -n "sapmsPN0 3600/tcp" >> %WINDIR%system32\drivers\etc\services теперь делается через вышеизложенное извращение.
Нда... И куда мир катится... |
|
Вернуться к началу |
|
 |
grf
Зарегистрирован: 05.04.2005 Сообщения: 1242 Откуда: Москва
|
Добавлено: Чт Июл 20 2006 11:11 Заголовок сообщения: |
|
|
В дополнение к and3008
еще есть команды find и findstr
 _________________ Errare humanum est |
|
Вернуться к началу |
|
 |
Avalanche
Зарегистрирован: 10.03.2004 Сообщения: 95 Откуда: г.Норильск
|
Добавлено: Чт Июл 20 2006 12:27 Заголовок сообщения: |
|
|
Цитата: | Во, блин!
То, что раньше делалось как echo -n "sapmsPN0 3600/tcp" >> %WINDIR%system32\drivers\etc\services теперь делается через вышеизложенное извращение. |
Как это относится к вопросу
И кстати что значит echo –n ? с утой строкой он у меня в файл добавляет -n "sapmsPN0 3600/tcp"
Вопрос был как сделать так чтоб только один раз можно было добавить строчку и всё |
|
Вернуться к началу |
|
 |
grf
Зарегистрирован: 05.04.2005 Сообщения: 1242 Откуда: Москва
|
Добавлено: Чт Июл 20 2006 12:37 Заголовок сообщения: |
|
|
Просто гораздо проще сделать бат файл, используя всего две команды:
1. find - проверяешь - есть ли твоя строка в нужном тебе файле
2. echo - добавляешь строку в файл, в зависимости от результата первой команды. Весь скрипт 3-4 строки
Как пользоваться командами, можешь прочитать в справочной системе винды.
 _________________ Errare humanum est |
|
Вернуться к началу |
|
 |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Чт Июл 20 2006 14:39 Заголовок сообщения: |
|
|
Запусти echo /? и find /?
Тогда поймешь.
Для твоей задачи писать на VBS вредно. Не того калибра задача. |
|
Вернуться к началу |
|
 |
grf
Зарегистрирован: 05.04.2005 Сообщения: 1242 Откуда: Москва
|
Добавлено: Чт Июл 20 2006 14:55 Заголовок сообщения: |
|
|
grf писал(а): | Весь скрипт 3-4 строки |
Извините, был не прав
2 строки
Код: | find "aaa" c:\www.txt
if errorlevel 1 echo aaa>>c:\www.txt |
Вот собственно и весь твой скрипт  _________________ Errare humanum est |
|
Вернуться к началу |
|
 |
borkes
Зарегистрирован: 24.03.2006 Сообщения: 64 Откуда: Озерск/Москва
|
Добавлено: Пн Июл 24 2006 17:20 Заголовок сообщения: |
|
|
Цитата: |
То, что раньше делалось как echo -n "sapmsPN0 3600/tcp" >> |
юникс-шел
а вот у меня иногда глюки бывают, захожу на циску руки пишут "su -"
или по ссш на сервер, там пишу "ena".. |
|
Вернуться к началу |
|
 |
|