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

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

Автор: Zueuk
Дата сообщения: 09.02.2006 14:16
KapralBel
Отлично! Спасибо!
Автор: slech
Дата сообщения: 09.02.2006 19:57
KapralBel
Мы с тобой про robocopy говорили.
Задача скопировать файл только если он изменился.
Т.е. если файл старый, то мы его не копируем и возвращаем ERRORLEVEL 1

Может криво ищу.
Ключика нужного найти не могу.
/copy:D не спасает.
Автор: volodyalipkin
Дата сообщения: 09.02.2006 20:10
Имеется файл. В его контекстном меню ( клик правой мышкой) есть ряд пунктов. Как из скрипта вызвать НЕ ПЕРВЫЙ пункт меню. WSH и любые общедоступные средства годятся.
Автор: vu1tur
Дата сообщения: 09.02.2006 20:11
slech
как вариант: cp.exe из набора UnixUtils
cp -u, --update
copy only when the SOURCE file is newer than the destination file
Автор: slech
Дата сообщения: 09.02.2006 20:40
vu1tur
cp c:\windows\hh.exe hh.exe
cp c:\windows\hh.exe hh.exe -u
echo %errorlevel%
0
не подходит.
Автор: NoName_GAmer
Дата сообщения: 09.02.2006 22:32
Помогите написать *.bat для запуска программы после ввода пароля, и ввод пароля не должен отображатса....
и желательно чтоб пароль брался из файла.
Автор: slech
Дата сообщения: 09.02.2006 23:03
NoName_GAmer
Так пароль вводить или лутше чтобы он брался из файла ?
если из файла то можно так вроде:
prog.exe <<pas.txt

Добавлено:
C:\>dir c:\WINDOWS\hh.exe

21.09.2002 20:13 10 752 hh.exe

C:\>copy c:\windows\hh.exe /D:09-02-2006 /Y
Скопировано файлов: 1.

Почему файл копируется ?
Ведь дата его изменения раньше чем дата указаная в параметре ?
Автор: vu1tur
Дата сообщения: 09.02.2006 23:42
slech

Цитата:
не подходит.

Так тебе нужно errorlevel получить или скопировать, если новый? cp -u просто копиурет либо не копирует.

Добавлено:
slech

Цитата:
C:\>copy c:\windows\hh.exe /D:09-02-2006 /Y

/D Allow the destination file to be created decrypted
что ты этим хотел добиться?
Автор: MIKKYPOL
Дата сообщения: 10.02.2006 07:32
Вопросик!

как правильно написать bat файл , который будет поочереди запускать другие bat файлы
обязятельно запускать по очереди
Автор: vu1tur
Дата сообщения: 10.02.2006 07:50
MIKKYPOL
call file1.bat
call file2.bat
call file3.bat
Автор: MIKKYPOL
Дата сообщения: 10.02.2006 07:59
vu1tur

спасибо!
Автор: smf
Дата сообщения: 10.02.2006 08:05
Можно так:

Код:
for /f "tokens=1" %%i in (filename.txt) do (
call %%i
)
Автор: slech
Дата сообщения: 10.02.2006 08:39
vu1tur
Ошибся там было

xcopy /?
/D:дата Копирование файлов, измененных не ранее указанной даты.
Автор: YFred
Дата сообщения: 10.02.2006 09:05
Люди помогите.
Как очистить папку с помощью батника? Надо удалить все папки и файлы в ней.
Автор: tomegadeth
Дата сообщения: 10.02.2006 09:16
YFred

Код:
rmdir /S /Q папка
md папка
Автор: Etalon
Дата сообщения: 10.02.2006 09:20
del /s *.*
Автор: Vitus_Bering
Дата сообщения: 10.02.2006 09:23

Цитата:
Подскажите, пож-та, как грамотно найти и удалить все пустые директории на диске?

Я уже задавал этот вопрос, но ответов не последовало.
Значит проблема не решаема?
Автор: KapralBel
Дата сообщения: 10.02.2006 09:31
slech

Код:
@Echo Off
RoboCopy From To Test.File /B /NP /Mir /NDL /Copy:DATSOU /XO /R:2 /W:5 /Log+:Test.Log
Echo Errorlevel=%ErrorLevel%
Автор: Vitus_Bering
Дата сообщения: 10.02.2006 09:48
KapralBel
Понял, спасибо.
Автор: smf
Дата сообщения: 10.02.2006 09:50
Vitus_Bering
Попробуй это:
имя скрипта delempty.cmd

Код:
@echo off
for /d %%i in (%1\*) do (
call delempty.cmd "%%i"
rd "%%i"
)
Автор: KapralBel
Дата сообщения: 10.02.2006 09:58
smf
И что это делает?
Автор: YFred
Дата сообщения: 10.02.2006 10:38
tomegadeth

Цитата:
Код:
rmdir /S /Q папка
md папка


Не пойдет, т.к. саму папку удалять нельзя

Etalon

Цитата:
del /s *.*


Тоже не пойдет, т.к. не удаляются вложенные каталоги.


Может кто еще что посоветует?
Автор: MasterTheMAC
Дата сообщения: 10.02.2006 10:40
KapralBel

Насколько я понял, рекурсивно обходит каталоги и для каждого вяполняет команду rd. На непустом каталоге не сработает, а пустой удалит.
Автор: smf
Дата сообщения: 10.02.2006 10:41
KapralBel
Удаляет пустые директории.

Добавлено:
YFred
У меня есть vbs-скрипт который это делает.
Если надо пошлю в ПМ, а то тема ведь "Задачи на bat-файлах".
Автор: KapralBel
Дата сообщения: 10.02.2006 10:52
smf
Сорри Не заметил что надо задавать и конкретное имя файла, для вызова самого себя
Автор: Vitus_Bering
Дата сообщения: 10.02.2006 11:01
smf
Спасибо, попробую.
Автор: Etalon
Дата сообщения: 10.02.2006 11:43
YFred

Код:
@Echo off
del /s /q "%~1\*.*"
cd %1
for /D %%d in (*.*) do (
rmdir /s/q "%%d"
)
Автор: YFred
Дата сообщения: 10.02.2006 12:00
Etalon
А по подробнее?
Автор: Etalon
Дата сообщения: 10.02.2006 12:10
YFred
Сначала удаляются все файлы в папке %1 и во всех вложенных в неё папках
Потом в цикле удаляются все вложенные папки

Если в качестве параметра %1 передаётся имя содержащее пробелы, то его надо заключать в кавычки (напр "c:\Program Files")
Автор: tomegadeth
Дата сообщения: 10.02.2006 12:15
Etalon жестоко - без параметра запустишь - удалит все с корня, и себя тоже

вот еще вариант на основе smf

Код: @echo off
if "%1" == "" (
echo Usage: recurce.cmd [dirname]
pause
goto :eof
)

for /d %%i in (%1\*) do (
call recurse.cmd "%%i"
rd /s /q "%%i"
)

del /Q "%1"\*

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Вернуть библиотеку АТМ (поддержка шрифтов Type 1)


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