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

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

Автор: ilovevirus
Дата сообщения: 21.06.2007 08:51
Добрый день всем!
Подскажите пожалуйста, хочу написать обработку переменной. Если 1, тогда лог выводить на экран, 2 - лог добавлять в конец файла, 3 - лог перезаписывать.

Пробую так, но не выходит...

set /a writelog="%1"

set logfile="c:\mylog.log"

if %writelog% neq 1 (
@if %writelog%==2 (set arglog=">>") else (set arglog=">")) else (
set arglog=""
set logfile="")

echo !!! %arglog% %logfile%

Значение >> - принимает за строку, а не за команду.
Автор: photov
Дата сообщения: 21.06.2007 09:06
Доброго времени суток.
Задача следующая: необходимо проверить наличий определенного файла в директории и то что его размер больше опереленного значения.
Наличе файла я смог сделать через if exist, а вот как получить размер файла?
Автор: igor_andreev
Дата сообщения: 21.06.2007 09:17
ilovevirus

set /a "writelog=%1"

set logfile="c:\mylog.log"

if %writelog%.==1. (set "arglog=" & set "logfile=")
if %writelog%.==2. set "arglog=>>"
if %writelog%.==3. set "arglog=>"

echo !!! %arglog% %logfile%
Автор: wolf0425
Дата сообщения: 21.06.2007 09:18

Цитата:
вот как получить размер файла?
через for. читай хэлп про %~z
Автор: photov
Дата сообщения: 21.06.2007 09:39
wolf0425
Спасибо!
Автор: ilovevirus
Дата сообщения: 21.06.2007 09:59
igor_andreev
Большое спасибо! Никогда бы не подумал, чт опеременную можно заключить в "" и он поймет.
Автор: Aivanzipper
Дата сообщения: 21.06.2007 17:44
Люди, помогите! Нужен батник, который в опред. дериктории выбирал бы самый новый файл (создание, модиффикация - не важно) и копировал его в другую дерикторию. Расширения одинаковые. Заранее благодарен!
Автор: Maza Faka
Дата сообщения: 21.06.2007 18:09
Aivanzipper

Код:
@echo off
for /f "tokens=*" %%a in (
'dir /b /a:-d /o:-d c:\test') do copy "c:\test\%%a" d:\test & goto :eof
Автор: ViSiToR
Дата сообщения: 21.06.2007 18:51
Aivanzipper
Чтобы задавать заранее маску для файлов, можно ещё и так:


Код:
Set Mask=C:\*.txt
Set DestDir=D:\

For /F "Tokens=*" %%a In ('Dir /b /a:-d /o:-d "%Mask%"') Do Set "NewstFileName=%%a" & GoTo EndLoop

:EndLoop
Copy "%NewstFileName%" "%DestDir%"
Автор: euheny
Дата сообщения: 22.06.2007 02:57
Кто подскажет как изменить разрешения для разделов реестра ?
По-идее должно что-то быть такое.
Автор: igor_andreev
Дата сообщения: 22.06.2007 04:00
euheny
http://support.microsoft.com/kb/264584
http://support.microsoft.com/kb/245031
Автор: euheny
Дата сообщения: 22.06.2007 04:20
igor_andreev

Автор: igor_andreev
Дата сообщения: 22.06.2007 04:22
euheny
Еще есть SetACL.exe и RegDACL.exe, в гугле на раз найдешь, они поудобней
Автор: euheny
Дата сообщения: 22.06.2007 04:23
вобщем спасибо
Автор: Aivanzipper
Дата сообщения: 22.06.2007 10:09
Maza Faka, ViSiToR,
Большое спасибо!

Автор: GORA2
Дата сообщения: 22.06.2007 11:49
Нашел я тут в выложенном здесь архиве hk_batch.zip батник yy-mm-dd-hh-ss.cmd (приводить его наверное не стоит) В нем есть код, который с помощью echo формирует файл d_t.com. Последний (файл d_t.com) меня как раз и интересует. Я его сохранил и запускаю без "самосоздания", но запускается он как то медленно. Файл явно преобразован для придания ему "батниковского" формата (20H...7FH) и разделения на строки. Можно ли преобразовать его в "нормальный" формат и увеличит ли это его быстродействие?
Автор: Elroir
Дата сообщения: 22.06.2007 12:20
GORA2
Вряд ли здесь кто-то поможет.
Надо обратиться к создателю - Herbert-у Kleebauer-у.
Автор: igor_andreev
Дата сообщения: 22.06.2007 13:27
GORA2
curtime32 $y $M $d $h $m $s
не устроит? И вообще возможностей у нее гораздо больше, чем у d_t.com. В шапке, в "Полезных утилитах"
Автор: GORA2
Дата сообщения: 22.06.2007 13:41
igor_andreev
Посмотрю конечно, но первый взгляд меня насторожил. 40кб!!! Мне и надо то только дату (можно и время) но только, чтоб не зависимо от региональных и прочих настроек. А тут такой объем!? У меня весь батник с еще тремя сторонними утилитами поменьше будет. А поскромнее варианта нет?
Нашел утилиту для изготовления "плоских" com файлов под батник (даже с исходниками), а вот обратной утилиты не могу найти.
Автор: igor_andreev
Дата сообщения: 22.06.2007 14:29
GORA2

Цитата:
запускается он как то медленно.

16-битные .COM и будут медленно запускаться, ты же не в досе, надо полагать Под XP быстро только 32-битные EXE работают, ими и надо пользоваться. На вот еще, для коллекции

test.txt

Код:
N NOW.COM
E 0100 EB 15 90 78 78 3A 78 78 3A 78 78 20 78 78 2F 78
E 0110 78 2F 78 78 0D 0A 24 1E 07 B4 2C CD 21 BF 03 01
E 0120 8A DD E8 2D 00 8A D9 E8 28 00 8A DE E8 23 00 B4
E 0130 2A CD 21 8A DE E8 1A 00 8A DA E8 15 00 81 E9 6C
E 0140 07 8A D9 E8 0C 00 BA 03 01 B4 09 CD 21 B8 00 4C
E 0150 CD 21 51 57 B7 00 BE 90 01 BF 86 01 32 C0 8B 0D
E 0160 0A C0 2B D9 72 04 FE C0 EB F6 04 30 03 D9 88 04
E 0170 46 83 C7 02 80 F9 01 75 E3 5F BE 93 01 FC B9 02
E 0180 00 F2 A4 47 59 C3 10 27 E8 03 64 00 0A 00 01 00
E 0190 30 30 30 30 30
RCX
0095
W
Q

Автор: GORA2
Дата сообщения: 22.06.2007 14:53
igor_andreev
Файлик получился, а как им пользоваться то!?
Выдал время и дату в формате не совсем мне нужном. Главное будет ли эта дата зависеть от настроек Windows!? Не подскажете?
Автор: Elroir
Дата сообщения: 22.06.2007 15:16
GORA2

Цитата:
будет ли эта дата зависеть от настроек Windows!?

Не будет.
Автор: wolf0425
Дата сообщения: 22.06.2007 16:49
igor_andreev

Цитата:
16-битные .COM и будут медленно запускаться, ты же не в досе,

ну не НАСТОЛЬО же! вон sbs2.com вполне шустрит, хоть и сделан наверно так же.

Добавлено:
ой, а причины торможения пожалуй внешние - вот само перестало.
К сожалению разбираться сейчас некогда.
Автор: vmix
Дата сообщения: 22.06.2007 19:07
Подскажите батничек для удаления устаревших файлов, скажем по трем временнЫм аттрибутам?
Спасибо..
Автор: Elroir
Дата сообщения: 22.06.2007 19:22
vmix
Что значит "по трем временнЫм аттрибутам"?
Автор: vmix
Дата сообщения: 22.06.2007 19:27
Elroir
по выбору - по времени создания, изменения и доступа
Автор: Elroir
Дата сообщения: 22.06.2007 19:52
vmix
Тебе нужно удалять по определенной дате, или, скажем, удалить все кроме 10 самых новых?
Автор: Smitis
Дата сообщения: 22.06.2007 20:48
igor_andreev

Цитата:
16-битные .COM и будут медленно запускаться, ты же не в досе, надо полагать Под XP быстро только 32-битные EXE работают, ими и надо пользоваться.

Извини, но это полная ерунда. Компьютер, на котором медлено запускаются 16-битные программы просто не потянет винду, тем более ХР
Автор: igor_andreev
Дата сообщения: 22.06.2007 21:23
wolf0425
Smitis
Не так сформулировал наверно... Медленно - это значит при старте 16-бит консольная утиль тупит какие-то десятые-сотые доли секунды, то-ли .pif ей для полного счастья рядом нужен, то-ли еще что. Не все 16-битные, некоторые только. Я такую задержку обычно вижу невооруженным глазом.
Автор: ViSiToR
Дата сообщения: 22.06.2007 21:43
igor_andreev

Цитата:
На вот еще, для коллекции


Нужно в шапку это поместить, вот привёл немного в юзабельный вид




Получение системного времени в одном формате (вне зависимости от настроек даты и времени системы) :



Код: @Echo off
CD "%Temp%"
Set NowTempFile=Now.tmp
Echo N NOW.COM > "%NowTempFile%"
Echo E 0100 EB 15 90 78 78 3A 78 78 3A 78 78 20 78 78 2F 78 >> "%NowTempFile%"
Echo E 0110 78 2F 78 78 0D 0A 24 1E 07 B4 2C CD 21 BF 03 01 >> "%NowTempFile%"
Echo E 0120 8A DD E8 2D 00 8A D9 E8 28 00 8A DE E8 23 00 B4 >> "%NowTempFile%"
Echo E 0130 2A CD 21 8A DE E8 1A 00 8A DA E8 15 00 81 E9 6C >> "%NowTempFile%"
Echo E 0140 07 8A D9 E8 0C 00 BA 03 01 B4 09 CD 21 B8 00 4C >> "%NowTempFile%"
Echo E 0150 CD 21 51 57 B7 00 BE 90 01 BF 86 01 32 C0 8B 0D >> "%NowTempFile%"
Echo E 0160 0A C0 2B D9 72 04 FE C0 EB F6 04 30 03 D9 88 04 >> "%NowTempFile%"
Echo E 0170 46 83 C7 02 80 F9 01 75 E3 5F BE 93 01 FC B9 02 >> "%NowTempFile%"
Echo E 0180 00 F2 A4 47 59 C3 10 27 E8 03 64 00 0A 00 01 00 >> "%NowTempFile%"
Echo E 0190 30 30 30 30 30 >> "%NowTempFile%"
Echo RCX >> "%NowTempFile%"
Echo 0095 >> "%NowTempFile%"
Echo W >> "%NowTempFile%"
Echo Q >> "%NowTempFile%"
Debug < "%NowTempFile%" > Nul
For /F "usebackq delims=" %%i In (`NOW.COM`) Do Set NowTime=%%i
Echo %NowTime%
Del "%Temp%\NOW.COM"
Del "%NowTempFile%"

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

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


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