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

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

Автор: JNoone
Дата сообщения: 30.11.2006 10:06
А подскажите следующую проблемку / задачку:
существует два диска, скажем M: и N:
Нужно чтобы при запуске батника происходило сравнение содержимого дисков и при наличии новых файлов на M: они заменялись на N:
(в условие также входят что на дисках есть и папки и подпапки)
Автор: KapralBel
Дата сообщения: 30.11.2006 10:19
JNoone
Утилита RoboCopy - идеальный вариант для этого
Автор: Levitant
Дата сообщения: 30.11.2006 10:44
KapralBel

sc \\ASUP0 config eserv.exe start= demand

Это не пашет. Я как понял вместо eserv.exe вписывать процесс.
Пробовал короче по разному, не поучается...
Ошибка [SC] OpenSCManager FAILED 1722:
Автор: KapralBel
Дата сообщения: 30.11.2006 10:49
Levitant
Либо поставь вместо \\ASUP0 правильное имя машины, либо убери совсем
Автор: Levitant
Дата сообщения: 30.11.2006 11:04
Уху, убрал совсем. Проверил. Работает. Спасибо за помощь.
Автор: NIKZZZZ
Дата сообщения: 30.11.2006 12:45
KapralBel

Цитата:
Формируй батничек вида

Код:
@Echo Off
CHCP 1251
Dir >%Temp%\List.txt

Так весь вопрос и состоит в том, чтобы обойтись без этого батника!
Автор: KapralBel
Дата сообщения: 30.11.2006 12:55
NIKZZZZ
А чем временный батничек мешает?
Автор: JNoone
Дата сообщения: 30.11.2006 13:28
Все. Вопрос отпал. Разобрался с xcopy )
Теперь вопрос как заставить понимать русские названия папок?
Автор: KapralBel
Дата сообщения: 30.11.2006 13:46
JNoone
Батничек пиши в ОЕМ кодировке
либо первой строкой вставляй
CHCP 1251
Автор: JNoone
Дата сообщения: 30.11.2006 13:49
KapralBel не срабатывает с CHCP
подскажи, может в ОЕМ кодировке получится? (интересует как именно докопаться до нее?)

UPD:сорь. наврал. работает все... единственный минус - в лог он пишет такую фигню )) поправить полагаю на нормальный текст не получится?
Автор: KapralBel
Дата сообщения: 30.11.2006 13:57
JNoone
В чем ты создаешь батнички?
Я работаю с FAR manager - он одинаково легко работает, как с ANSI (1251), так и OEM (866) кодировкой
, Что просматривать, что редактировать
Автор: JNoone
Дата сообщения: 30.11.2006 14:20
KapralBel
я через TotalCMD
в целом мне не влом просматривать через ANSI просто создаются они в txt )). расчет на глупого юзверя. Можно конечно сделать чтоб он создавал *.log но тогда будут возмущаться что мол не читается... )
Автор: NIKZZZZ
Дата сообщения: 30.11.2006 14:45
KapralBel

Цитата:
А чем временный батничек мешает?

У меня есть мной написанное приложение. Мне нужно из него запускать дос-команды и получать результат в Win-кодировке (dir я привел для примера). Каждый раз создавать временный батник для нужной команды неудобно. Можно перекодировать результат с самом приложении, но все равно возникают глюки с русскими буквами. cmd.exe /u (Юникод) работает хорошо, но с ним сложно работать. Поэтому меня и интересует как решить эту задачу средствами доса.
И почему не работает строка
cmd.exe /c chcp 1251 & dir > xxx.txt
Автор: Kirillhome
Дата сообщения: 30.11.2006 14:58

Цитата:
ViSiToR

Цитата: Elroir
почему нельзя переместить (move) файлы в нужную директорию


Не, перемещать не подходит, файлы должны быть не тронутыми, это флэш диск, таких действии происходить должно много, а насколько всем известно, запись\перезапись\смещение, и любая работа на флэшке, портит её. Прсто нужно решить задачу как есть...
Автор: KapralBel
Дата сообщения: 30.11.2006 16:00
NIKZZZZ

Код: cmd /c chcp 1251 & cmd /c Dir >1.txt
Автор: NIKZZZZ
Дата сообщения: 30.11.2006 16:12
KapralBel
Спасибо.
Автор: MegaSin
Дата сообщения: 30.11.2006 16:17
Помогите решить такую задачу:
есть большой bat файл, в нем встречаются часто куски вида:

Код:
:Step0
echo. ===================================
echo. I I
echo. I ляляля I
echo. I____________________________________________I
echo. I I
echo. I 1 - some. I
echo. I 2 - some2. I
echo. I 3 - some3. I
echo. I I
echo. ===================================
set Step0=x
set /p Step0= Сделайте выбор:
if /i %Step0%==1 goto some
if /i %Step0%==2 goto some2
if /i %Step0%==3 goto some3
goto Step0
Автор: igor_andreev
Дата сообщения: 30.11.2006 17:50
NIKZZZZ


Цитата:
И почему не работает строка
cmd.exe /c chcp 1251 & dir > xxx.txt

Потому что надо поставить два символа конкатенации &&


Добавлено:
MegaSin
Легче в батнике пункты меню два раза прописать, чем парсить конфиг

Код:
@ECHO OFF
CHCP 1251 > NUL

REM Тут язык, EN или RU
SET language=EN

IF /I %language%==RU (
SET my_title=ЛАЛАЛА
SET item_1=Первый пункт меню
SET item_2=Второй пункт меню
SET item_3=Третий пункт меню
SET my_question= Сделайте выбор
)

IF /I %language%==EN (
SET my_title=LALALA
SET item_1=The first item of the menu
SET item_2=The second item of the menu
SET item_3=The third item of the menu
SET my_question= Select your choice
)

:Step0
CLS
ECHO.
ECHO. %my_title%
ECHO.
ECHO. 1 - %item_1%
ECHO. 2 - %item_2%
ECHO. 3 - %item_3%
ECHO.

SET /P Step0=%my_question% [1-3]:

IF /I %Step0%==1 GOTO some1
IF /I %Step0%==2 GOTO some2
IF /I %Step0%==3 GOTO some3
GOTO Step0
REM ...и так далее
Автор: Elroir
Дата сообщения: 30.11.2006 19:11
ViSiToR
Насчет флешки - ничего кроме того, что предложил Kirillhome, мне в голову так и не пришло . Понятно, что если много файлов - это лишнее время.
А ты не пробовал спросить автора 7-zip?
Автор: ViSiToR
Дата сообщения: 30.11.2006 20:35
Kirillhome

Цитата:
А не проще всё, что нужно, скопировать в %TEMP%


От Elroir

Цитата:
Понятно, что если много файлов - это лишнее время.


Вот поэтому не проще - Архивировать нужно много файлов, и нужно как можно быстрее это сделать.

Elroir

Цитата:
ты не пробовал спросить автора 7-zip?

Нет, хм... мысль заманчива... ладно, Elroir и Kirillhome спасибо вам за попытки помочь... если найду решение задачки, обязательно отпишусь (ну или если вы найдётье, дайте знать ).
Автор: KapralBel
Дата сообщения: 01.12.2006 09:41
igor_andreev

Цитата:
Цитата:
И почему не работает строка
cmd.exe /c chcp 1251 & dir > xxx.txt

Потому что надо поставить два символа конкатенации &&

А ты пробовал???
Я первым делом сделал это - финт ушами не прошел
Автор: Desenix
Дата сообщения: 01.12.2006 10:00
& - разделитель команд в строке
&& - выполнить следующую команду, если успешно выполнилась предыдущая.
Автор: igor_andreev
Дата сообщения: 01.12.2006 10:38
KapralBel
Угу, я неправильно пробовал, из одного окна cmd запускал, на второй попытке там уже кодировка по любому 1251.
А так что с ушами? : cmd.exe /c chcp 1251 & dir|more>xxx.txt
Автор: KapralBel
Дата сообщения: 01.12.2006 14:02
igor_andreev
Согласен , ты не правильно пробовал
Ибо прочитай задачу
Переключенние на кодировку 1251, путем вызова строки из другой программы, батнички не создавать
Эмулируется запуском вышеуказанной строки через Пуск\Выполнить
И если запускать твой вариант - то лог всегда создается в кодировке ОЕМ, ане АНСИ


Добавлено:
А вот с More - срабатывает
Автор: Elroir
Дата сообщения: 01.12.2006 17:23
KapralBel

Цитата:
cmd /c chcp 1251 & dir > xxx.txt

А почему такая конструкция выполняется?
Ведь dir встроенная команда - из Run ее не запустишь. Так каким образом она работает здесь? Или "cmd /c" относится к обеим командам?
Автор: KapralBel
Дата сообщения: 04.12.2006 10:13
Elroir


Цитата:
Или "cmd /c" относится к обеим командам?

см. cmd /?

Цитата:
Если указаны ключи /C или /K, то остальная часть командной строки после
такого ключа обрабатывается как командная строка
Автор: igrok b2k
Дата сообщения: 05.12.2006 03:58
Существует ВАТ файлик

Цитата:
КОД
xcopy /y d:\GAMES\Lineage2\cyber\hosts c:\windows\system32\drivers\etc\hosts

cd d:\GAMES\Lineage2\system
start l2.exe
cls

как бы до поры до времени все работало, теперь у меня вылетает сообщение типа ХОСТ Фаил - Ф или Каталог Д??
вот собственно ((
и хост не копируется

да и еще вопросик
стандартаное копирование
xcopy /y \\comp22\c:\Papka \\comp19\c:\Papka
короче у мну в сетке 100 компов нужно залить на все пару папок ето для каждого компа свой ВАТ писать или можно как то сделать что с 1 по 21 и 23 по 100 ?

заранее благодарен !

Автор: KapralBel
Дата сообщения: 05.12.2006 09:27
igrok b2k
2. Тонкий намек For /l %a in (1,1,100) Do Echo \\Comp%a
Автор: igrok b2k
Дата сообщения: 05.12.2006 12:08
senk KapralBel
поиду тестить
Автор: cluster
Дата сообщения: 05.12.2006 12:46
а как узнать имя пользователя, который залогинен в данный момент по имени машины?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Сбой активации XP sp2


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