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

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

Автор: wolf0425
Дата сообщения: 18.10.2010 19:23
lorents
Цитата:
как можно сравнить вес шести файлов, и оставить файл с самым маленьким весом, а все остальные удалить?
пять раз последовательно применить процедуру сравнения двух файлов по весу, что для тебя тут уже писали.
Автор: lorents
Дата сообщения: 18.10.2010 21:06
Разобрался, вопрос снят, спасибо.
Автор: king_stiven
Дата сообщения: 18.10.2010 22:24
Получилось скрыто запустить батник из .js . Окошечко не мелькает больше.
Автор: tgkonvent
Дата сообщения: 19.10.2010 14:49
Подскажите скриптик, с помощью которого можно заменить искомую строку в бинарном файле?!
Автор: bomzzz
Дата сообщения: 19.10.2010 15:05
tgkonvent
батники с бинарными файлами не работают. надо сторонние утилиты использовать
Автор: tgkonvent
Дата сообщения: 19.10.2010 15:19
а, на VBS можно такое сделать?
Автор: bomzzz
Дата сообщения: 19.10.2010 15:22
точно не помню, лучше там спроси
Автор: Accessor
Дата сообщения: 19.10.2010 15:45
tgkonvent
Да, можно. С помощью vsb патчат EXE-шники, например.
Автор: Inside13
Дата сообщения: 19.10.2010 16:53
Подскажите перенаправление!
Есть *.bat файл:

Код: sigcheck.exe>c:\1.txt
Автор: wolf0425
Дата сообщения: 19.10.2010 17:12

Цитата:
запускаю как службу этот же batник:
файл 1.txt создается, но пустой, a sigcheck.exe висит в процессах.
наверно что-то не находит и ругается, а ты не видишь.
попробуй так:
1>c:\1.txt 2>&1 sigcheck.exe
может хоть в файл пропишет причину подвисания


Цитата:
кажется мне, что не может перенаправить данные в этот файл

если бы не хватало прав - то и создать бы не мог, а не только дописывать.
Автор: king_stiven
Дата сообщения: 19.10.2010 19:01
Inside13
var WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.Run('"1.bat"',0);
Автор: Nek1t
Дата сообщения: 19.10.2010 22:27
Подскажите батник для небольшой работы.
Нужно задать дату модификации папки такую же, как дата создания любого *.txt файла, лежащего в ней.
Было бы неплохо, чтобы батнику задавался каталог, а уже в нем обрабатывались все папки по вышеуказанному условию.

Дату модификации можно установить с помощью консольной утилиты nircmd.exe.

Цитата:
setfilefoldertime [filename, folder or wildcard] [Created Date] {Modified Date} {Accessed Date}
Автор: Inside13
Дата сообщения: 20.10.2010 08:37
2 wolf0425
1>c:\1.txt 2>&1 sigcheck.exe даже с batника не создает файл, может ошибка в коде с перенаправлениями

Добавлено:
king_stiven
Спасибо, нужный скрипт для решения всяких задач
Автор: Romanchikprivet
Дата сообщения: 20.10.2010 11:57
Добрый день! Подскажите, пожалуйста, как на 2003 сервере создать батник для задачи: есть файл с отозванными номерами договоров. В этом файле может стоять дата, а может и нет. Надо открыть файл проверить наличие в нем даты, если есть то пропустить и закрыть файл, а если нет то поставить дату соотв дате в системе.
Автор: res2001
Дата сообщения: 20.10.2010 12:16
Romanchikprivet
Пример файла в студию.
Автор: wolf0425
Дата сообщения: 20.10.2010 12:24

Цитата:
Нужно задать дату модификации папки такую же, как дата создания любого *.txt файла, лежащего в ней.
любого - это какого? который мне нравится?
Естати, если там никто даты вручную не правил и файлы не удалял - то там уже дата модификации папки равны дате последнего внесения изменений в папку, = последней операции создания/удаления файла/каталога в папке, в тривиальном случае - создания последнего из файлов.

Может тебе дату модификации папки нужно установить в соответствии с датой модификации содержащихся в ней файлов, раз что-то править захотелось?
Автор: Romanchikprivet
Дата сообщения: 20.10.2010 12:37
res2001, вот пример файла.
32423856754435457
65437357373745735
54726236262626266
12342353467446366
86574633536675585
47473457237377337
76548383838368556
83547658387745775
34834572478456833
87547373775463737
74378835276547563

ДАТА ФОРМИРОВАНИЯ ФАЙЛА: 12.10.2010


Файл имеет расширение txt. ДАТА вводится вручную при формировании файла, но ее иногда забывают ставить или файл на след день еще верный (ничего не происходило) и программа не дает сформировать новый файлик, следовательно надо менять руками, хотелось бы автоматизировать...
Автор: wolf0425
Дата сообщения: 20.10.2010 12:51
Romanchikprivetну то есть нужно проверить наличие строки ДАТА ФОРМИРОВАНИЯ ФАЙЛА и если её нет - дописать её в конец?

для виндовой кодировки файла и батника - наверно так:

Код: @echo off
chcp 1251
1>nul find "ДАТА ФОРМИРОВАНИЯ ФАЙЛА" <file.txt && exit
1>>file.txt echo.ДАТА ФОРМИРОВАНИЯ ФАЙЛА: %date%
Автор: Romanchikprivet
Дата сообщения: 20.10.2010 13:09
wolf0425, он просто открывает файл на просмотр в проге стоящей по умолчанию для открытия этих файлов

Добавлено:
Не закрывает он соединение с файлом почему-то...
При добавлении даты все в порядке, только когда дату проверяет...
а что означает chcp 1251 ?
Автор: 1nasty1
Дата сообщения: 20.10.2010 16:26
Подскажите, пожалуйста, как заставить internеt explorer запускать html файл из папки не прописывая путь?
Автор: bomzzz
Дата сообщения: 20.10.2010 16:37
путь к чему
Автор: 1nasty1
Дата сообщения: 20.10.2010 17:29
bomzzz
Полный путь к файлу. Например файл start.bat находится в папке C:\Program Files\Program\, а сам файл .html находится глубже в папке C:\Program Files\Program\test Нужно прописать не полный путь к файлу "C:\Program Files\Program\test \html.html" а так, чтобы папку можно было перемещать, но батник работал. что-то наподобие start iexplore /test/html.html Если запускать просто start /test/html.html то все открывается браузером по-умолчанию, что недопустимо в моем случае. Нужно IE. А в приведенном мною примере не работает. Даже с кавычками ))
Автор: bomzzz
Дата сообщения: 20.10.2010 17:31
./mypapka/myfile.html

Добавлено:
или так, если первый варинат не сработает
start iexplore %~DP0mypapka/myfile.html
Автор: 1nasty1
Дата сообщения: 20.10.2010 17:39
bomzzz
Не совсем так, видимо. IE открывает _http://./test/html.html

Добавлено:
Второй вариант сработал. Спасибо!
Автор: bomzzz
Дата сообщения: 20.10.2010 17:42
второй вариант работает, или если путь неполный ИЕ автоматически добавляет http://. проверял на ИЕ6
Автор: Nek1t
Дата сообщения: 20.10.2010 18:55
wolf0425

Цитата:
любого - это какого? который мне нравится?

Абсолютно любого *.txt файла, находящегося в данной папке.

Цитата:
Кстати, если там никто даты вручную не правил и файлы не удалял - то там уже дата модификации папки равны дате последнего внесения изменений в папку, = последней операции создания/удаления файла/каталога в папке, в тривиальном случае - создания последнего из файлов.

В том-то и дело, что файлы правились => менялась дата их модификации(но не создания файлов) => менялась дата модификации папки. Теперь нужно откатить дату модификации папок обратно на дату создания папки, а следовательно самих файлов.
Автор: wolf0425
Дата сообщения: 20.10.2010 19:37

Цитата:
Нужно задать дату модификации папки такую же, как дата создания любого *.txt файла, лежащего в ней.
Было бы неплохо, чтобы батнику задавался каталог, а уже в нем обрабатывались все папки по вышеуказанному условию. .

как-то так:

Код: @echo off
set _dir=.\
for /d %%a in ("%_dir%*") do call :set "%%~a"
exit

:set
for /f "tokens=1,2" %%b in (' dir /t:c "%~1\*.txt" 2^>nul ^| find /i ".txt" ') do nircmdc setfilefoldertime "%~1" "" "%%b %%c:59" & exit /b
Автор: Nek1t
Дата сообщения: 20.10.2010 20:50
wolf0425
Спасибо, все отлично работает.
Автор: BagaBaga
Дата сообщения: 20.10.2010 23:10
Уважаемый 01MDM, ваш код (*) обладает одной особенностью:

если файл содержит ровно одну строку,
например,

Код:
s1
Автор: wolf0425
Дата сообщения: 20.10.2010 23:44
BagaBaga, когда в редакторе набрать строку и нажать "етнтер" и сохранить - получается файл из одной строки - той что набирал.
Если после энтера нажать ещё пробел перед сохранением - из двух строк.
Но то, что при незавершенной строке в файле батник выдает не то, что хотелось - лечить надо независимо от того как строки считать

наверно ты это хотел:

Код: @echo off
for %%a in (*.txt) do for /f "usebackq delims=" %%i in ("%%~a") do 0>nul set /p="[%%i]"
echo.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Windows 7 Starter


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