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

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

Автор: Nagual
Дата сообщения: 06.03.2009 22:07
braconier
для работы с папками идеальней robocopy не придумаешь
когда же я устану это повторять?

LiLysh
Код:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\имя службы]
"Start"=dword:00000002
Автор: NvvLazyTiger
Дата сообщения: 07.03.2009 04:38
Kilyan
Цитата:
Существует ли в природе sed.exe, работающий без левых dll?
Загляни сюда: "sed, the stream editor".

В частности:
Цитата:
super-sed v3.59, executable compiled for Win32 systems. If you run under Windows, this is all you need.
Автор: Maza_Faka
Дата сообщения: 07.03.2009 06:08
LiLysh

Код:
sc config "Имя Службы" start= auto
Автор: wolf0425
Дата сообщения: 07.03.2009 07:21

Цитата:
Существует ли в природе sed.exe, работающий без левых dll?

был тут http://unxutils.sourceforge.net пока скачивалка не сломлась.

http://www.student.northpark.edu/pemente/sed/gsed407x.zip
вроде бы взятая с unxutils копия
Автор: TechnicsKuzya
Дата сообщения: 07.03.2009 09:13
Резюме из вышеприведенных скриптов (может, конечно, когда-то в какой-то форме и приводилось решение этих задач):

Как известно, если кодовая страница операционной система не будет содержать набор кириллических символов, то вывод русскоязычных сообщений будет происходит в абракадабре.

Код для решения данной проблемы (определения языка вывода сообщений) прост:


Код:
@echo off
set detect_CP=HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage

for /f "tokens=3" %%c in ('reg query "%detect_CP%" /v OEMCP^|findstr /I /C:"OEMCP"') do if not "%%c"=="866" goto eng

echo Russian
pause
exit


:eng
echo English
pause
exit
Автор: graydevil
Дата сообщения: 07.03.2009 12:32
А как взять переменные из файла, положим есть файл -

user.txt

содержимое :

user
pass
workgroup
name
ip
mask
dns

вот, эти строки присвоить переменным батника...
Автор: NvvLazyTiger
Дата сообщения: 07.03.2009 13:20
graydevil
Цитата:
как взять переменную из файла
[...]
эти строки присвоить переменным батника

Например, так:
Код: goto GetVars
:SetVars присвоение значений переменным
if %count% == 1 set user=%*
if %count% == 2 set pass=%*
if %count% == 3 set workgroup=%*
if %count% == 4 set name=%*
if %count% == 5 set ip=%*
if %count% == 6 set mask=%*
if %count% == 7 set dns=%*
:: инкремент счётчика
set /a count=%count%+1
goto :eof

:GetVars установка счётчика, перебор строк
set count=1
for /f "tokens=*" %%a in (user.txt) do call :SetVars %%a
Автор: TechnicsKuzya
Дата сообщения: 07.03.2009 15:11
Я использую такой вариант:


Код:
for /F "tokens=*" %%s in (user.txt) do set %%s
Автор: zzxx1488
Дата сообщения: 07.03.2009 16:53
залил копию UnxUtils c http://unxutils.sourceforge.net/ в связи с тем, что даунлоад мертвый с оффсайта
в архиве unxutils.zip & unxupdates.zip последние версии
взять можно отсюда:
http://www.gazup.com/4BR8E-unxutils.rar-download-mirrors
Автор: NvvLazyTiger
Дата сообщения: 08.03.2009 04:19
... А мне вот такая конструкция:
Код: for /f "eol=; tokens=1* delims==" %%a in (MyFile) do if /i '%%a'=='MyKey' set MyVal=%%b
Автор: Herissen
Дата сообщения: 08.03.2009 13:21
Подскажите господа хорошие.
пользуюсь утилитой хсору, в первоначальной папке (копирование которой производиться) удалили все файлы, понадобилось востановить их, а в конечной папке они то же пропали.
Вопрос такой хсору делает все изменения которые происходят с первичной папкой или я чтото не понимаю.
Автор: TechnicsKuzya
Дата сообщения: 08.03.2009 13:38
xcopy /? - даст справку о том, что делает команда, можете привести полную строку которая использовалась при применении команды?
Автор: Herissen
Дата сообщения: 08.03.2009 13:43
хсору "что" "куда" /mir /mot:1

Добавлено:
и еще подскажите как копировать папку с файлами на сетевой ресурс типа ФТП где используеться логин и пароль
Автор: TechnicsKuzya
Дата сообщения: 08.03.2009 13:48
/mir /mot:1 - это что такое?
Автор: igor_andreev
Дата сообщения: 08.03.2009 13:51

Цитата:
пользуюсь утилитой хсору, в первоначальной папке (копирование которой производиться) удалили все файлы, понадобилось востановить их, а в конечной папке они то же пропали.

Готовая фраза для башорг

Цитата:
/mir /mot:1 - это что такое?

это ключи robocopy.exe

Цитата:
Вопрос такой хсору делает все изменения которые происходят с первичной папкой или я чтото не понимаю.

Ну если ты robocopy юзаешь с ключом /MIR - то да, в source файлы пропали, robocopy зеркало сделала в destination

Автор: Herissen
Дата сообщения: 08.03.2009 13:53
Прошу прощения за неточность использую утилиту robocopy. отвлекли ))

Добавлено:

Цитата:
Готовая фраза для башорг

не возражаю
Автор: TechnicsKuzya
Дата сообщения: 08.03.2009 13:57
С robocopy не сталкивался, так, что no comment, извиняюсь...
Автор: Herissen
Дата сообщения: 08.03.2009 14:10
to igor_andreev уважаемый подскажите как с помощью robocopy копировать на ФТП
Автор: igor_andreev
Дата сообщения: 08.03.2009 14:21
Никак, с фтп robocopy не работает. На фтп-шник можно заливать файлы консольными wput.exe, curl.exe, ncftpput.exe, ftps.exe или стандартным виндовым ftp.exe
Автор: Herissen
Дата сообщения: 08.03.2009 15:18
так понятно, подскажите пожалуйста команду чтобы в конечной папке оставалось все что туда копирует робокопи, (тоесть при удалении файла из исходной папки, на конечную это не влияло).
Автор: igor_andreev
Дата сообщения: 08.03.2009 15:31
robocopy /? - там все написано. Удаляют файлы ключи /MIR и /PURGE
Автор: ProUkorN
Дата сообщения: 08.03.2009 21:37

Код: copy %1 C:\srtFtpSecFiles\temp_%~n1.txt
echo %~n1 >> C:\srtFtpSecFiles\temp_%~n1.txt
if %~z1 LEQ 30 (
call :read_settings C:\srtFtpSecFiles\temp_%~n1.txt || exit /b 1
echo Password=%PASS% >> C:\1121.txt
echo Username=%USER% >> C:\1121.txt
echo FullName=%USER% >> C:\1121.txt
exit /b 0
:read_settings
for /f "delims==,_ tokens=1,2" %%i in (C:\srtFtpSecFiles\temp_%~n1.txt) do (
set %%i=%%j
)
exit /b 0
) else (
del C:\srtFtpSecFiles\temp_%~n1.txt
del %1
exit /b
)
Автор: MIHMIH007
Дата сообщения: 08.03.2009 22:07
Народ помогите плиз сделать батник следующего вида:
1. Копирование файлов с папки которая лежит рядом с батником в папку C:\Program Files
2. Добавление значений в реестр (либо просто запуск файла реестра)
3. Запуск определённого приложения.
4. Нужно чтобы все значения с реестра которые добавились и файлы которые скопировались удалились после закрытия приложения

И возможно ли сделать проверку на файлы и значения в реестре ..... то есть если есть такой файл то не копировать или если есть такое значение в реестре то не добавлять...
Автор: ponand
Дата сообщения: 08.03.2009 22:38
Подскажите плиз....
Нужно найти в txt строки по шаблону например "http://" и в этой строке заменить src"" на src"1.png" каждый раз увеличивая номер файла на 1 и записать в другой файл, строки не содержащие шаблон записать в файл без изменений
Автор: Mr_Hat
Дата сообщения: 08.03.2009 23:19
MIHMIH007
задача не развернута,
папка по пути C:\Program Files\Существует или нет
если да то
Код: copy /y Файл "%ProgramFiles%\Папка\"
Автор: Maza_Faka
Дата сообщения: 09.03.2009 06:44
MIHMIH007

Цитата:
1. Копирование файлов с папки которая лежит рядом с батником в папку C:\Program Files


Код:
Copy /Y "*.*" "%PROGRAMFILES%"
Автор: ponand
Дата сообщения: 09.03.2009 13:55
Подскажите плиз....
Как правильно изменить значение переменной test в этом батнике
@echo on
set "test=1"
For /F "tokens=*" %%z in (11\123.txt) do (
For /F "tokens=1,2,3,4,5,6,7,* delims= " %%a in ("%%z") do (
if "%%g" == "" (echo %%z>>11.txt) else (
For /F "tokens=1* delims=:" %%A in ("%%g") do (
if HREF^=^"op:==%%A: (echo %%z>>11.txt) else (
echo %%a src="%test%.png" %%c %%d %%e %%f %%g %%h>>11.txt
set /a "test=%test%+1"
)
)
)
)
)
Автор: Maza_Faka
Дата сообщения: 09.03.2009 14:30
ponand

Цитата:

Elroir
В обычном случае, чтобы узнать значение переменной окружения, надо воспользоваться конструкцией %переменная%. Однако, если значение переменной меняется внутри цикла и читается там же, то для корректной работы батника, нужно использовать команду setlocal enabledelayedexpansion и вместо символа "%", использовать символ "!". Иначе, значение переменной в цикле будет всегда одним и тем же - таким, каким было до входа в цикл.
Автор: Teboyev
Дата сообщения: 09.03.2009 18:03
Помогите пожалуйста. Мне нужно чтоб батник забирад с локального пути файл созданый сегодня и кидал его на фтп. Ковырял forfiles - не получается. Сделал батник но он берет только указаные файлы, вот

chcp 866
open ftp.ru
login
password
cd ***\***
put c:\3\2\1\10000080.txt
put c:\4\3\2\20000081.txt
disconnect
pause

- как туда forfiles воткнуть?
Автор: trigliff
Дата сообщения: 09.03.2009 22:01
Подскажите, есть ли возможность (без извращения) у sed или ssed вставить переменную, содержащую слеши в регулярное выражение? Ну типа как через цитату \Q...\E

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: как сохранить сетевые настройки


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