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

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

Sdib121 14-08-2009 16:53 1193630

Как прочесть из файла .txt только первую строчку текста.
 
Подскажите как прочесть из файла .txt
только первую строчку текста.
Присвоить первую строку некой переменной .
Присвоить второй переменной просто текст не из файла.

NiOl 14-08-2009 19:40 1193730

Поищите в этом разделе похожие темы, воспользуйтесь имеющимеся наработками.
Например:
[решено] Изменение текста в файле
а лучше сразу
[решено] Чтение строки из файла в переменную

Sdib121 15-08-2009 02:02 1193932

Спасибо за ссылки.
Вы дали ссылку, повзаимствовал код, убрал строку xcopy мне она не нужна
Код:

If Exist Out\Flag.txt (
  For /F "Delims=" %%I In (Out\Flag.txt) Do Set BmpPath=%%~I
)
echo %BmpPath%

У меня файл из 2 строк
И в BmpPath выводится 2ая строка (наверное перезаписывает первую)
А мне нужно чтобы BmpPath хранилась 1ая строка, для дальнейшего сравнения.

amel27 15-08-2009 05:49 1193971

Цитата:

Цитата Sdib121
мне нужно чтобы BmpPath хранилась 1ая строка »

Код:

@Echo Off
SetLocal EnableExtensions

Set FilePath=Out\Flag.txt

If Exist "%FilePath%" (
  For /F "UseBackQ Delims=" %%i In ("%FilePath%") Do (
      Set BmpPath=%%i
      GoTo :NEXT
  )
)

:NEXT
Echo %BmpPath%


Sdib121 15-08-2009 11:40 1194075

Спс, amel27
Задача была такая при отсутствии соединения с провайдером подключаться к другому.
Вообще задумка была такая:
Проверять через rasdial если ли подключение,
и если нет то соединяться с Локальной сетью X (модемное соединение-только Локальная сеть) или с другим провайдером, тут надо и с Лок.сетью и с сервером провайдера.

Но у меня вот в конце не проходит проверку if
Подскажите в чём может быть дело.

Код:

@Echo Off
rasdial>e:\bad.txt
rasdial 

SetLocal EnableExtensions 
Set FilePath=bad.txt 
If Exist "%FilePath%" (   
  For /F "UseBackQ Delims=" %%i In ("%FilePath%") Do (     
      Set FileConn=%%i     
      GoTo :NEXT   
  )

:NEXT
Echo %FileConn%
pause
Set Conn=Отсутствуют подключения
Echo %Conn%
::if FileConn==Conn devcon enable PCI\VEN_10EC
::if FileConn==Conn rasdial sevcity707 login pass
::if "FileConn"=="Conn" rasdial sevcity707 login pass
pause

В файле bad.txt будет хранится (или наоборот, что есть подключение)
Отсутствуют подключения
Команда успешно завершена.


И вот 2-ой вопрос можно ли было осуществить эту задачу как-то без txt файла
просто имея 1 батник.

amel27 15-08-2009 12:51 1194098

Цитата:

Цитата Sdib121
не проходит проверку if»

Цитата:

Цитата Sdib121
можно ли было осуществить эту задачу как-то без txt файла»

Код:

@Echo Off
SetLocal EnableExtensions 

For /F "Delims=" %%i In ('RasDial') Do Set Dial=%%i& GoTo NEXT

:NEXT
Echo %Dial%
pause

Set Conn=Отсутствуют подключения
If /I "%Conn%"=="%Dial%" RasDial sevcity707 login pass
pause

P.S. RasDial обслуживает только подключения по требованию, для LAN всегда будет "Отсутствуют подключения"

Sdib121 15-08-2009 14:26 1194166

С кодом без файла всё получилось, даже по-эффективней будет
при разрыве и коннектит к инету и сеть подключает.
а вот с файлом не получилось :((
Спасибо, тему можно закрывать


Время: 12:58.

Время: 12:58.
© OSzone.net 2001-