Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Чтение строки из файла в переменную

Ответить
Настройки темы
CMD/BAT - [решено] Чтение строки из файла в переменную

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте. Т.к. в написании bat файлов нет опыта, необходима помощь. В определенном каталоге по условию появляется текстовый файл Flag.txt. В файле есть только одна строка - это путь до каталога картинок, формата bmp. Нужно в имеющийся рабочий bat файл, который выполняет некоторые действия, добавить строки, которые бы проверяли наличие файла Flag.txt, читали бы содержимое строки пути и копировали бы все картинки из каталога картинок в определеный каталог.
В батнике есть уже:
if exist Out\123.xml xcopy Out\123.xml \\User\In\ /y
Эта строка, при наличии файла, копирует его в каталог по сети. И после нужно добавить что-то типа
:сначала, видимо, определить путь, откуда копировать файлы (это строка в файле Flag.txt), и
if exist Out\Flag.txt xcopy <Здесь нужен путь, который определили>\*.bmp \\User\Image\ /y
Заранее спасибо!

Отправлено: 11:15, 29-01-2009

 

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата amel27:
C:\Batnik.CMD »
выполняется в обоих случаях(если IP совпадает с записанным ранее и если IP не совпадает с записанным ранее), а нужно чтобы выполнялся только если IP не совпадает с записанным ранее.

Отправлено: 17:41, 08-05-2009 | #31



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Devils0411

Ветеран


Сообщения: 902
Благодарности: 51

Профиль | Отправить PM | Цитировать


Проблема такого рода. Есть папка "C:\Recovery" с более чем 20000 .txt файлов. В одном из этих файлов есть строка "Progressive" Нужно создать батник, который при нахождении этой строки, или указывал название файла, содержащего эту строку, или копировал его (Скажем на диск D)

-------
Скрипт автоустановки WINDOWSXP; Скрипт мультиустановки ОС


Отправлено: 22:46, 16-05-2009 | #32



Moderator


Сообщения: 53175
Благодарности: 15430

Профиль | Отправить PM | Цитировать


Цитата Devils0411:
который при нахождении этой строки, или указывал название файла
Код: Выделить весь код
Findstr /L /I /M /C:"Progressive" C:\Recovery\*.txt
Цитата Devils0411:
или копировал его (Скажем на диск D)
Код: Выделить весь код
@Echo Off
For /F "Delims=" %%I In ('Findstr /L /I /M /C:"Progressive" C:\Recovery\*.txt') Do (
  Echo %%~nxI
  Copy "%%~I" D:\ >nul
)

Последний раз редактировалось Petya V4sechkin, 17-05-2009 в 08:53.


Отправлено: 08:25, 17-05-2009 | #33


Аватара для Devils0411

Ветеран


Сообщения: 902
Благодарности: 51

Профиль | Отправить PM | Цитировать


Цитата Petya V4sechkin:
@Echo Off
For /F "Delims=" %%I In ('Findstr /L /I /M /C:"Progressive" C:\Recovery\*.txt') Do (
Echo %%~nxI
Copy "%%~I" D:\ >nul »
Создает почти 1000 процессов cmd.exe

-------
Скрипт автоустановки WINDOWSXP; Скрипт мультиустановки ОС


Отправлено: 11:21, 17-05-2009 | #34



Moderator


Сообщения: 53175
Благодарности: 15430

Профиль | Отправить PM | Цитировать


Цитата Devils0411:
Создает почти 1000 процессов cmd.exe
Странно, не должно такого быть.
Можно и по другому цикл сформировать, но это в 10 раз медленнее:
Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion

For /F "Delims=" %%I In ('Dir /A-D /B C:\Recovery\*.txt') Do (
  Findstr /L /I /M /C:"Progressive" "C:\Recovery\%%I" >nul
  If !ErrorLevel!==0 (
    Echo %%I
    Copy "C:\Recovery\%%I" D:\ >nul
  )
)

Отправлено: 14:35, 17-05-2009 | #35


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день помгите вот с такой задачкой!
Собственно, возможно ли при помощи батинка заменять строки в файлах. aka Ctrl+H в любом блокноте.

Сразу же пример.

есть на C:\ файл dir.txt следущего содержания:
Код: Выделить весь код
c:\Docume~1\Admin\Cookies\кукис[1].txt
c:\Docume~1\Admin\Cookies\кукис[2].txt
c:\Docume~1\Admin\Cookies\кукис[3].txt
c:\Docume~1\Admin\Cookies\кукис[4].txt
c:\Docume~1\Admin\Cookies\кукис[5].txt
нужно просто перед каждой строчкой поставить send:
Код: Выделить весь код
send c:\Docume~1\Admin\Cookies\кукис[1].txt
send c:\Docume~1\Admin\Cookies\кукис[2].txt
send c:\Docume~1\Admin\Cookies\кукис[3].txt
send c:\Docume~1\Admin\Cookies\кукис[4].txt
send c:\Docume~1\Admin\Cookies\кукис[5].txt
если это невыполнимо при помощи бат, то может каким нить другим способом?
ну может при помощи js или vbs?

Отправлено: 20:00, 10-06-2009 | #36



Moderator


Сообщения: 53175
Благодарности: 15430

Профиль | Отправить PM | Цитировать


ntro142343245, результат в C:\dir2.txt
Код: Выделить весь код
@Echo Off
Del /F /Q C:\dir2.txt 2>nul
For /F "Delims=" %%I In (C:\dir.txt) Do Echo send %%I>>C:\dir2.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:31, 10-06-2009 | #37


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Цитата ntro142343245:
при помощи батинка заменять строки в файлах »
Быстрее, эффективней и без проблем со спец. символами, если использовать SED.EXE
Код: Выделить весь код
Sed "s/.*/send &/g" <dir.txt > result.txt

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 07:25, 11-06-2009 | #38


Новый участник


Сообщения: 6
Благодарности: 2

Профиль | Отправить PM | Цитировать


Такой вопрос. С помощью
Код: Выделить весь код
REG EXPORT HKLM\SYSTEM\ControlSet001\Control\Network\ NetworkList.reg /nt4
findstr  "^.Name.=" NetworkList.reg > 1.txt
получаю текстовый файл с именами существующих имен сетевых интерфейсов.
Код: Выделить весь код
"Name"="Подключение по локальной сети"
"Name"="1394-соединение"
"Name"="Подключение по локальной сети 2"
"Name"="Подключение по локальной сети 3"
"Name"="Беспроводное сетевое соединение"
Как прочитать и перенаправить каждое имя в свою переменную, причем желательно в виде
Код: Выделить весь код
Подключение по локальной сети
1394-соединение
Подключение по локальной сети 2
Подключение по локальной сети 3
Беспроводное сетевое соединение
т.е. без всяких лишних символов. Также следует учесть, что сетевых интерфейсов не обязательно будет пять как в данном примере.
Будет использоваться для отключения/включения сети в
Код: Выделить весь код
netsh routing ip set interface name="переменная с именем сети" state=disable
Хотя, наверное, в данном случае переменная должна быть одна для организации цикла отключения всех сетевых интерфейсов.
Подскажите пожалуйста.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:06, 28-07-2009 | #39



Moderator


Сообщения: 53175
Благодарности: 15430

Профиль | Отправить PM | Цитировать


Цитата yumi:
REG EXPORT HKLM\SYSTEM\ControlSet001\Control\Network\ NetworkList.reg /nt4
findstr "^.Name.=" NetworkList.reg > 1.txt
Оно вообще-то выводит не только существующие, но и все прошлые (фантомные) подключения.

Цитата yumi:
Хотя, наверное, в данном случае переменная должна быть одна для организации цикла отключения всех сетевых интерфейсов.
Если позволите предложить альтернативу, можно с помощью CNic.exe
Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions

For /F "Skip=4 Tokens=1 Delims= " %%I In ('CNic.exe -l') Do (
  CNic.exe n:%%I -d
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:26, 28-07-2009 | #40



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Чтение строки из файла в переменную

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] StringRegExpReplace: Конверт. строки атрибутов файла в формат Attrib.exe Creat0R AutoIt 6 14-09-2009 22:52
[решено] Удаление строки из файла gregaz AutoIt 2 16-07-2009 18:46
[решено] Чтение текстового файла с неизвестным именем ZeroCrash AutoIt 4 01-07-2009 19:03
[решено] Чтение-запись битого файла vit777 Видео и аудио: обработка и кодирование 3 19-12-2007 09:45
Shell. Чтение текстового файла по строкам. Delphin911 Общий по Linux 11 07-04-2005 17:58




 
Переход