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

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

Автор: GORA2
Дата сообщения: 03.08.2007 11:48
Странно все это
Тестовый батник:
Код: @echo off
set file=WCMICONS.txt
FOR /F "eol= tokens=* usebackq" %%i in ("%file%") do (
echo %%i | findstr /b /i /c:"; This SFX archive" /c:";!@InstallEnd@!" && set /a flag+=1
)
echo %flag%
pause>nul
exit
Автор: vserd
Дата сообщения: 03.08.2007 11:57
GORA2

Цитата:
Что у меня не так!?

Setlocal ENABLEDELAYEDEXPANSION ?
Автор: GORA2
Дата сообщения: 03.08.2007 12:03
vserd

Цитата:
Setlocal ENABLEDELAYEDEXPANSION ?

Не включены они у меня! Могу даже setlocal disabledelayedexpansion вставить во вторую строку - результат тот же.
Автор: KapralBel
Дата сообщения: 03.08.2007 12:10
GORA2
Ошибка в том, что FOR срезает во втором случае лидирующие пробелы
Делай по другому
Сначала фильтр, а потом разбор строк по FOR
Автор: GORA2
Дата сообщения: 03.08.2007 12:20
KapralBel

Цитата:
Сначала фильтр, а потом разбор строк по FOR
Можно привести пример, как это должно выглядеть?
Автор: Maza Faka
Дата сообщения: 03.08.2007 13:28
KapralBel

Цитата:
FOR срезает во втором случае лидирующие пробелы

GORA2

Цитата:
как это должно выглядеть?

Попробуй использовать вместо "tokens=*", "delims="
Автор: KapralBel
Дата сообщения: 03.08.2007 13:42
GORA2

Код: @Echo Off
Set flag=0
FOR /F "tokens=* eol=" %%a In ('findstr /b /c:";!@InstallEnd@!" 111') Do Set /a flag+=1
Echo %flag%
Автор: GORA2
Дата сообщения: 03.08.2007 14:07
Maza Faka
Ваш вариант вроде сработал.
KapralBel
К сожалению не прокатило. Цель всех этих проверок, не подсчет количества вхождения стрингов в файле, а нахождение строк с этими стрингами и выполнение замены строк на другие. Я привел тестовый батник с помощью которого пытался выяснить "неработоспособность" ключа /b.
Извините, если ввел в заблуждение не четкой постановкой задачи.
Всем спасибо.
Автор: MsdLamer
Дата сообщения: 07.08.2007 12:25
Профессионалы подскажите пожалуйста на примере как можно сделать следующее:

Допустим файлик отчет по картам называется так: Отчет картам_02_08_07.xls (_02_08_07)
это число, месяц и год.

Можно ли как нибудь с помощью батника пересохранять этот файлик, но с текущей датой, месяцем и годом. Спасибо.
Автор: KapralBel
Дата сообщения: 07.08.2007 12:54
MsdLamer
Поясни задачу
тебе надо сделать копию кучи файлов под новым имененм?
Автор: MsdLamer
Дата сообщения: 07.08.2007 13:05
Задача простая, но как решить я не знаю, мне надо чтобы файлик со старым числом (допустим Отчет картам_06_08_07.xls) скопировался с названием Отчет картам_07_08_07.xls т.е. с нынешним числом, это можно сделать?
Автор: vserd
Дата сообщения: 07.08.2007 13:08
MsdLamer
Читай внимательно шапку этой темы. там есть способ получения текущей даты.
Затем cmd /k help set, cmd /k help for, cmd /k help dir, cmd /k help rn
затем версию для печати этой темы и двух предыдущих сезонов.

Автор: Maza Faka
Дата сообщения: 07.08.2007 15:00
MsdLamer

Код:
@echo off
setlocal enabledelayedexpansion
chcp 1251>nul

for /f "tokens=1-3 delims=./-" %%a in ('date /t') do (
set var=%%c
set var=!var:~2!
set cur_date=%%a_%%b_!var!
)

copy "Отчет картам_06_08_07.xls" "Отчет картам_%cur_date%.xls"
Автор: oie71
Дата сообщения: 07.08.2007 15:45
взял батник для автоматического обновления Symantec отсюда

http://entkb.symantec.com/security/output/n2004061116024848.html

запихнул его в шедулер с правами админа домена win2003

Если в момент выполнения задания админ уже залогинился, всё работает на ура.

Если на машине никто не залогинился батник выполняется включительно до

ftp -s:down.txt и вываливается.


rem ============= download new file =================
ftp -s:down.txt
for %%i in (%xdbfile%) do @set newsize=%%~zi
if not "%newsize%" == "%xdbsize%" goto ERROR
move %xdbfile% %COPY_XDB_TO%
if exist %xdbfile% goto ERRORMOVE
popd
echo.
echo %xdbfile% %xdbsize% > xdbdown.lastfile
echo Downloaded new %xdbfolder% file: %xdbfile% - size %xdbsize%
echo %date% %time% Downloaded new %xdbfolder% file: %xdbfile% - size %xdbsize% >> XDBdown.log
goto END

Я не особо разбираюсь в %% и т.д.
Что здесь есть такого, что зависит от логон/логоф ?

Буду благодарен за ответ
Автор: jacksl
Дата сообщения: 07.08.2007 15:53
Как организовать выгрузку фоток вместе с подпапками? Сделал скипт(внизу) но эта зараза выгружает только то что находится в одной папке

bat:
ftp -s:script.txt


script.txt:

open www.***.fi
***
***
lcd %userprofiels\my documents\
bin
prompt
cd sabina
mput *.jpg
quit
Автор: 01MDM
Дата сообщения: 07.08.2007 16:07
oie71
Наверное надо было составлять задание с системными правами, NT_Authority\System
Автор: oie71
Дата сообщения: 07.08.2007 16:27
01MDM

а как это?

В run as ничего пихнуть типа NT_Authority\System не получается

Автор: 01MDM
Дата сообщения: 07.08.2007 17:01
oie71
Задание на исполнение файла в стандартном шедулере составить от имени "System", тогда оно должно выполниться независимо от залогинившегося пользователя.



Добавлено:

Цитата:
В run as ничего пихнуть типа NT_Authority\System не получается


NT Authority\System - это системная учетная запись, если надо что-либо запустить от ее лица, то:

Код:
at 12:00 /interacive "%PROGRAMFILES%\Far\Far.exe"
Автор: oie71
Дата сообщения: 07.08.2007 17:26
не помогает
дальше вываливается из скрипта после УСПЕШНОГО скачивания с ftp.

всё-таки чтото с %%

for %%i in (%xdbfile%) do @set newsize=%%~zi
if not "%newsize%" == "%xdbsize%" goto ERROR
move %xdbfile% %COPY_XDB_TO%
if exist %xdbfile% goto ERRORMOVE
popd
echo.
echo %xdbfile% %xdbsize% > xdbdown.lastfile
echo Downloaded new %xdbfolder% file: %xdbfile% - size %xdbsize%
echo %date% %time% Downloaded new %xdbfolder% file: %xdbfile% - size %xdbsize% >> XDBdown.log
goto END



я смотрел set > set.txt при логон и при логоф одинаковые....
Автор: 01MDM
Дата сообщения: 07.08.2007 17:40

Код:
ftp -s:down.txt
Автор: oie71
Дата сообщения: 07.08.2007 17:49
полный текст батника здесь
http://entkb.symantec.com/security/output/n2004061116024848.html

Автор: Elroir
Дата сообщения: 07.08.2007 19:47
oie71
Батник работает великолепно...
В первой строчке батника устанавливается директория, в которую будет положен скачанный файл:
@set COPY_XDB_TO="c:\Program Files\SAV\"
Ты заменил ее на свою? Если нет, тогда, если директории c:\Program Files\SAV у тебя не существует - батник будет вылетать с ошибкой.
Автор: marrow1
Дата сообщения: 08.08.2007 01:12
Здравствуйте! У меня Vindows Vista Ultimate x64. Всё работает прекрасно. Единственная проблема - интренет через VPN. Как его сделать чтобы его подключало автоматом не знаю. Пробовал закидать ярлык в астозагрузку, в реестре прописывать - не помогает. Решил что проблема с постоянной идентификации сети в Висте. Так вот в чём суть вопроса: как написать bat или cmd файл в котором был бы записан сценарий подключения? И потом чтобы я этот файл в автозагрузку мог добавить. Прописать в том файле например чтобы он мне запускал VPN-подключение с задержкой через 20 секунд, а потом ещё через 10 секунд например боковую панель или любое другое приложение. Как прописать такой файл?? Помогите.
Автор: KapralBel
Дата сообщения: 08.08.2007 07:58
marrow1

Код: @echo off
RASDial Соединение логин пароль
Автор: NskRonin
Дата сообщения: 08.08.2007 09:25
Скажите где я делаю ошибку?

Фаил Karta.bat


Цитата:

xcopy \\Server\Soft\2gis C:\Program Files\2gis /s /e



В итоге пишет

Цитата:

Недопустимое количество параметров


Уже пробовал IP вместо Server писать.. не помогло.

P.S. Если кто не догадался - это батник для копирования карты на пользовательские компы с сервера (лакального)
Автор: KapralBel
Дата сообщения: 08.08.2007 09:30
NskRonin

Код: xcopy \\Server\Soft\2gis\*.* "C:\Program Files\2gis" /s /e
Автор: NskRonin
Дата сообщения: 08.08.2007 10:03
KapralBel
Спасибо!!! Помогло!!!!

Блин... как все просто. )
Автор: oie71
Дата сообщения: 08.08.2007 10:20
Elroir


Цитата:
Батник работает великолепно...


И в логофе юзера тоже?


Цитата:
В первой строчке батника устанавливается директория, в которую будет положен скачанный файл:
@set COPY_XDB_TO="c:\Program Files\SAV\"
Ты заменил ее на свою? Если нет, тогда, если директории c:\Program Files\SAV у тебя не существует - батник будет вылетать с ошибкой.


У меня симантек стоит по дефолту - ничего менять не надо было в батнике.




Автор: marrow1
Дата сообщения: 08.08.2007 11:20
KapralBel

Спасибо, работает. Скажите только как можно выставить задержку времени.
Автор: Maza Faka
Дата сообщения: 08.08.2007 12:19
marrow1

Цитата:
как можно выставить задержку времени

В смысле паузу?

Код:
ping -n 6 -w 1000 localhost>nul

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

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


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