Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 5

Автор: GreaseOD
Дата сообщения: 08.05.2008 15:02
Кто-нибудь пробовал организовать печать файлов через cmd?
Нужно напечатать test.xls через cmd, желательно не сторонними дополнительными программами требующие установке
Или если есть скинте пжл ссылку!
Автор: Vlamo
Дата сообщения: 08.05.2008 15:33

Цитата:
Не в nul вывод, а в файл и анализируй файл

В том то и дело, я понимаю, что можно использовать команду find, но что именно искать и как организовать анализ - вот в этом не очень силён. Не могли бы вы мне помочь, уважаемый igor_andreev?
Автор: igor_andreev
Дата сообщения: 08.05.2008 16:11
Vlamo

Цитата:
но что именно искать

А это только ты и знаешь, что именно искать, фтп-шник то твой, они по разному ответы дают. Что твой фтп выдает тебе в файл, то и ищи. Может это будет "530 Authentication failed", может "221-Goodbye. You uploaded 0 and downloaded 0 kbytes", и еще много всяких "может".

Цитата:
как организовать анализ

Да тут почти на каждой странице примеры можно найти.

Код:
find "что искать" файл
if errorlevel 1 делать что надо
Автор: Vlamo
Дата сообщения: 08.05.2008 16:44
igor_andreev
Спасибо, большое за помощь. Теперь буду знать что и главное как искать. Просто была надежда, что есть какое-то стандартное решение, типа errorlevel или чего-то ещё подобного. Но, все-равно, спасибо!
Автор: NIKZZZZ
Дата сообщения: 08.05.2008 17:43
GreaseOD

Цитата:
Кто-нибудь пробовал организовать печать файлов через cmd?


Код: copy File.txt prn
Автор: JI063uk
Дата сообщения: 08.05.2008 18:06

Здравствуйте.
Как можно вытащить из текстового файла несколько строк например 1,2,15,19 и т.д. и записать их в другой текстовый фаил.
Заранее спасибо за помощь
Автор: Ortios
Дата сообщения: 08.05.2008 18:52
JI063uk,

Цитата:
Как можно вытащить из текстового файла несколько строк например 1,2,15,19 и т.д. и записать их в другой текстовый фаил.

Проще всего с помощью утилиты sed.

Код: sed-3.59 -n "1p;2p;15p;19p" 1.txt > 2.txt
Автор: JI063uk
Дата сообщения: 08.05.2008 19:06

Цитата:
Проще всего с помощью утилиты sed.


Если можно скинь ссылку
Автор: Elroir
Дата сообщения: 08.05.2008 19:18
JI063uk
В шапке, в разделе "Полезные утилиты" есть ссылка на sed версии 4.1.5
Автор: JI063uk
Дата сообщения: 08.05.2008 19:34

Цитата:
Elroir


Скачал вот этот архив sed-4.1.5-dep.zip и чё мне с ним делать подскажите не образованному
Автор: Vlamo
Дата сообщения: 08.05.2008 19:35
JI063uk

Цитата:
Как можно вытащить из текстового файла несколько строк например 1,2,15,19 и т.д. и записать их в другой текстовый фаил.

Я, конечно, не сильно большой спец, но по моему и без sed можно обойтись:

Код: @echo off

setlocal enabledelayedexpansion

del /q new_file.txt 2>nul
set counter=1
for /f "tokens=*" %%a in (old_file.txt) do (
for %%b in (1 2 15 19) do (
if !counter!==%%b echo %%a >> new_file.txt
)
set /a counter=!counter!+1)
)
Автор: JI063uk
Дата сообщения: 08.05.2008 19:53

Цитата:
Vlamo


Все работает спасибо всем кто принел учястия
Автор: Thundr
Дата сообщения: 09.05.2008 12:17
Добрый день. Требуется помощь в написании bat файла.Выполнять он должен следующее: помещенный в автозагрузку,при запуске ос должен снимать определенный процесс,после запускать два файла,все действия должны происходить с интервалом в 20 секунд.Буду очень признателен,если подскажите как это сделать.
Автор: king_stiven
Дата сообщения: 09.05.2008 13:18
Thundr

Цитата:
при запуске ос должен снимать определенный процесс

taskkill /?

Цитата:
все действия должны происходить с интервалом в 20 секунд

Цитата:можно ли установить задержку в "bat" или "cmd" между выполнением команд - например между запуском файлов (в секундах) - допустим 3 секунды?
Код:ping -n 3 -w 1000 localhost > nul
либо используя утилиту hs_delay.exe из hs_packet в шапке
Автор: Thundr
Дата сообщения: 09.05.2008 13:56

Цитата:
Добрый день. Требуется помощь в написании bat файла.Выполнять он должен следующее: помещенный в автозагрузку,при запуске ос должен снимать определенный процесс,после запускать два файла,все действия должны происходить с интервалом в 20 секунд.Буду очень признателен,если подскажите как это сделать.

А как это все примерно выглядеть будет?
Автор: Elroir
Дата сообщения: 09.05.2008 22:37
Thundr

Цитата:
А как это все примерно выглядеть будет?


Код:
@echo off
taskkill /f /im "notepad.exe"
ping -n 21 -w 1000 127.0.0.1>nul
start "" "c:\windows\system32\notepad.exe"
ping -n 21 -w 1000 127.0.0.1>nul
start "" "c:\windows\system32\calc.exe"
Автор: JI063uk
Дата сообщения: 10.05.2008 04:44

Цитата:
@echo off
taskkill /f /im "notepad.exe"
ping -n 21 -w 1000 127.0.0.1>nul
start "" "c:\windows\system32\notepad.exe"
ping -n 21 -w 1000 127.0.0.1>nul
start "" "c:\windows\system32\calc.exe"


McAfee говорит что вирус
Автор: Elroir
Дата сообщения: 10.05.2008 13:12
JI063uk

Цитата:
McAfee говорит что вирус

Круто!!! Шикарный антивирус, однако
P.S. А какой вирус-то?
Автор: 01MDM
Дата сообщения: 10.05.2008 16:14
Elroir
Да, вот такой бдительный антивирус. Определяется как троян.



Причем разработчики наверное батники не осилили, т.к такой код сохраняется без проблем

Код:
@echo off
call:1
ping -n 21 -w 1000 127.0.0.1>nul
start "" "c:\windows\system32\notepad.exe"
ping -n 21 -w 1000 127.0.0.1>nul
start "" "c:\windows\system32\calc.exe"
goto:eof

:1
taskkill /f /im "notepad.exe"
Автор: JI063uk
Дата сообщения: 11.05.2008 07:07
А ктонить знает как присвоить атрибут (системный или архивный) для txt файла в таком коде >>1.txt записывает отчет в 1.txt хочу присвоить ему атрибут. Помогите решить проблему
Автор: king_stiven
Дата сообщения: 11.05.2008 09:41
JI063uk
Вывод и изменение атрибутов файлов.

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [диск:] [путь] [имя_файла]
[/S] [/D]]

+ Установка атрибута.
- Снятие атрибута.
R Атрибут "Только чтение".
A Атрибут "Архивный".
S Атрибут "Системный".
H Атрибут "Скрытый".
[диск:] [путь] [имя_файла]
Указание файла или набора файлов для обработки.
/S Обработка файлов с указанными именами в текущей папке
и во всех ее подпапках.
/D Обработка и файлов, и папок.
Автор: JI063uk
Дата сообщения: 11.05.2008 10:29

Цитата:
king_stiven


Спасибо.



Добавлено:
Ничё понять не могу что не так:


Цитата:

@echo off
for /f "tokens=*" %%i in (1.txt) do (
shutdown -m -s -f "\\%%i" -t 40 -c "....."
)


Просто в строке пишу так shutdown -m -s -f \\имя -t 40 -c "....." работает, а батником не получяеться. 1.txt содержит имена компов которые следует выключить...
Что не так???


Автор: 11100
Дата сообщения: 11.05.2008 18:51
есть два снимка реестра котрые отличаются друг от друга.
нужно найти в них отличия и на основе их создать заплатку реестра, как это сделать.
Изменений очень много.
Автор: Ortios
Дата сообщения: 11.05.2008 20:34
11100
Это тебе в тему "Реестр Windows 2000 / Windows XP", ищи там в шапке утилиту RegShot.
Автор: igor_andreev
Дата сообщения: 11.05.2008 21:10
11100
http://www.p-nand-q.com/download/regdiff.html
Автор: A_H
Дата сообщения: 12.05.2008 01:30
Добрый день. Есть вопрос к теме о замене кирилицы латиницей. Предложенное решение не работает.
1. Замена происходит без учёта регистра символов. Результат замены

SET "word=%word:М=M%"
и
SET "word=%word:м=m%"

зависит от того, что раньше встретится: Получаем Мм -> MM или mm.

2. Конструкция SET "word=%word:М=M%" не работает. Работает SET word=%word:М=M%

От чего это может зависеть? От настроек?
Автор: Tipulatoid
Дата сообщения: 14.05.2008 11:10
A_H


Цитата:
Есть вопрос к теме о замене кирилицы латиницей.


Так устроит?


Код: @echo off
setlocal enabledelayedexpansion

set word=Привет, мир 0987654321
echo %word%

set count=0

:next
if "!word:~%count%,1!" NEQ "" (
set /a count+=1

if "!word:~%count%,1!" equ "а" set "newword=%newword%a" & goto :next
if "!word:~%count%,1!" equ "б" set "newword=%newword%b" & goto :next
if "!word:~%count%,1!" equ "в" set "newword=%newword%v" & goto :next
if "!word:~%count%,1!" equ "г" set "newword=%newword%g" & goto :next
if "!word:~%count%,1!" equ "д" set "newword=%newword%d" & goto :next
if "!word:~%count%,1!" equ "е" set "newword=%newword%e" & goto :next
if "!word:~%count%,1!" equ "ё" set "newword=%newword%e" & goto :next
if "!word:~%count%,1!" equ "ж" set "newword=%newword%zh" & goto :next
if "!word:~%count%,1!" equ "з" set "newword=%newword%z" & goto :next
if "!word:~%count%,1!" equ "и" set "newword=%newword%i" & goto :next
if "!word:~%count%,1!" equ "й" set "newword=%newword%i" & goto :next
if "!word:~%count%,1!" equ "к" set "newword=%newword%k" & goto :next
if "!word:~%count%,1!" equ "л" set "newword=%newword%l" & goto :next
if "!word:~%count%,1!" equ "м" set "newword=%newword%m" & goto :next
if "!word:~%count%,1!" equ "н" set "newword=%newword%n" & goto :next
if "!word:~%count%,1!" equ "о" set "newword=%newword%o" & goto :next
if "!word:~%count%,1!" equ "п" set "newword=%newword%p" & goto :next
if "!word:~%count%,1!" equ "р" set "newword=%newword%r" & goto :next
if "!word:~%count%,1!" equ "с" set "newword=%newword%s" & goto :next
if "!word:~%count%,1!" equ "т" set "newword=%newword%t" & goto :next
if "!word:~%count%,1!" equ "у" set "newword=%newword%u" & goto :next
if "!word:~%count%,1!" equ "ф" set "newword=%newword%f" & goto :next
if "!word:~%count%,1!" equ "х" set "newword=%newword%kh" & goto :next
if "!word:~%count%,1!" equ "ц" set "newword=%newword%ts" & goto :next
if "!word:~%count%,1!" equ "ч" set "newword=%newword%ch" & goto :next
if "!word:~%count%,1!" equ "ш" set "newword=%newword%sh" & goto :next
if "!word:~%count%,1!" equ "щ" set "newword=%newword%sh" & goto :next
if "!word:~%count%,1!" equ "ъ" set "newword=%newword%'" & goto :next
if "!word:~%count%,1!" equ "ы" set "newword=%newword%y" & goto :next
if "!word:~%count%,1!" equ "ь" set "newword=%newword%'" & goto :next
if "!word:~%count%,1!" equ "э" set "newword=%newword%e" & goto :next
if "!word:~%count%,1!" equ "ю" set "newword=%newword%yu" & goto :next
if "!word:~%count%,1!" equ "я" set "newword=%newword%ya" & goto :next

if "!word:~%count%,1!" equ "А" set "newword=%newword%A" & goto :next
if "!word:~%count%,1!" equ "Б" set "newword=%newword%B" & goto :next
if "!word:~%count%,1!" equ "В" set "newword=%newword%V" & goto :next
if "!word:~%count%,1!" equ "Г" set "newword=%newword%G" & goto :next
if "!word:~%count%,1!" equ "Д" set "newword=%newword%D" & goto :next
if "!word:~%count%,1!" equ "Е" set "newword=%newword%E" & goto :next
if "!word:~%count%,1!" equ "Ё" set "newword=%newword%E" & goto :next
if "!word:~%count%,1!" equ "Ж" set "newword=%newword%Zh" & goto :next
if "!word:~%count%,1!" equ "З" set "newword=%newword%Z" & goto :next
if "!word:~%count%,1!" equ "И" set "newword=%newword%I" & goto :next
if "!word:~%count%,1!" equ "Й" set "newword=%newword%I" & goto :next
if "!word:~%count%,1!" equ "К" set "newword=%newword%K" & goto :next
if "!word:~%count%,1!" equ "Л" set "newword=%newword%L" & goto :next
if "!word:~%count%,1!" equ "М" set "newword=%newword%M" & goto :next
if "!word:~%count%,1!" equ "Н" set "newword=%newword%N" & goto :next
if "!word:~%count%,1!" equ "О" set "newword=%newword%O" & goto :next
if "!word:~%count%,1!" equ "П" set "newword=%newword%P" & goto :next
if "!word:~%count%,1!" equ "Р" set "newword=%newword%R" & goto :next
if "!word:~%count%,1!" equ "С" set "newword=%newword%S" & goto :next
if "!word:~%count%,1!" equ "Т" set "newword=%newword%T" & goto :next
if "!word:~%count%,1!" equ "У" set "newword=%newword%U" & goto :next
if "!word:~%count%,1!" equ "Ф" set "newword=%newword%F" & goto :next
if "!word:~%count%,1!" equ "Х" set "newword=%newword%Kh" & goto :next
if "!word:~%count%,1!" equ "Ц" set "newword=%newword%Ts" & goto :next
if "!word:~%count%,1!" equ "Ч" set "newword=%newword%Ch" & goto :next
if "!word:~%count%,1!" equ "Ш" set "newword=%newword%Sh" & goto :next
if "!word:~%count%,1!" equ "Щ" set "newword=%newword%Sh" & goto :next
if "!word:~%count%,1!" equ "Ъ" set "newword=%newword%'" & goto :next
if "!word:~%count%,1!" equ "Ы" set "newword=%newword%Y" & goto :next
if "!word:~%count%,1!" equ "Ь" set "newword=%newword%'" & goto :next
if "!word:~%count%,1!" equ "Э" set "newword=%newword%E" & goto :next
if "!word:~%count%,1!" equ "Ю" set "newword=%newword%Yu" & goto :next
if "!word:~%count%,1!" equ "Я" set "newword=%newword%Ya" & goto :next

set "newword=%newword%!word:~%count%,1!" & goto :next
)

echo %newword%
Автор: wolf0425
Дата сообщения: 14.05.2008 12:02
Tipulatoid, чем перечислять все цифры и знаки препинания - наверно лучше сделать так:


Код: :next
if "!word:~%count%,1!" NEQ "" (
set /a count+=1
if "!word:~%count%,1!" equ "А" set "newword=%newword%A" & goto :next
...
if "!word:~%count%,1!" equ "я" set "newword=%newword%ya" & goto :next
set "newword=%newword%!word:~%count%,1!" & goto :next
)
Автор: Tipulatoid
Дата сообщения: 14.05.2008 14:06
wolf0425
Да, круто. Этот момент я не додумал. Исправил.
Автор: Nagual
Дата сообщения: 14.05.2008 18:06
задача: проверка и восстановление системных файлов с жёсткого диска
копируем папку i386 в корень системного раздела
накидал такой код

Код:
@echo off
for /f "tokens=3" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "SourcePath"') do set old=%%a
reg
add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "Installation Sources" /t REG_MULTI_SZ /d "%systemdrive%\\" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "SourcePath" /d "%systemdrive%\\" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "ServicePackSourcePath" /d "%systemdrive%\\" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "SourcePath" /d "%systemdrive%\i386" /f
sfc/scannow
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "Installation Sources" /t REG_MULTI_SZ /d "%old%\" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "SourcePath" /d "%old%\" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "ServicePackSourcePath" /d "%old%\" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "SourcePath" /d "%old%i386" /f

однако, выскакивает сообщение вставьте компакт-диск с windows
как всё таки заставить выполнять системную проверку с жёсткого диска?

Добавлено:
разобрался, команда sfc не поддерживает ожидание ни командой start/w, ни меткой

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Сброс пароля администратора


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.