Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd)

Автор: HaK1R
Дата сообщения: 03.07.2009 11:03
Leshgan

Цитата:
стати, может кто покритикует этот код?

может было бы удобнее через print а не rundll32

Код: print /?
Автор: Leshgan
Дата сообщения: 03.07.2009 12:39
HaK1R
Либо через PRINT нет возможности печатать графические файлы, либо я не разобрался, но оказалось не проще.
Интересует больше
Цитата:
Как сделать чтобы отправилось на печать всё одним заданием?

Автор: graydevil
Дата сообщения: 05.07.2009 09:03
Господа, как создать файл с размером свободного места на диске?

Нужно для ftp сервера т.к. невидно сколько места на нем есть..

А так в задачу каждые н минут проверять и создавать файл с именем - размером..
Автор: HaK1R
Дата сообщения: 05.07.2009 12:01
graydevil
хаха, представь себе у тебя будет 200ГБ свободно. думаю это не самая хорошая мысль. А зачем тебе знать сколько там места?
Автор: graydevil
Дата сообщения: 05.07.2009 18:57
И что с этого - создастся файл 200Gd_free.dat положим..

Зачем это - потомучто долбаные фтп серверы не показывают место свободное,
только могут выводит в приветствии пользователя, которе никто не читает.
Автор: NvvLazyTiger
Дата сообщения: 06.07.2009 04:20
graydevil
Цитата:
как создать файл с размером свободного места на диске?

Код: @echo off
for /f "tokens=*" %%a in ('dir /-C') do call :a1 %%a
echo %aa%
goto :eof
:a1
set aa=%3
Автор: Maza_Faka
Дата сообщения: 06.07.2009 06:34
graydevil

Цитата:
как создать файл с размером


Код:
fsutil file createnew c:\file.dat 1024
Автор: igor_andreev
Дата сообщения: 06.07.2009 11:33
NvvLazyTiger
Даже без "call" лучше обойтись

Код: for /f "tokens=3" %%a in ('dir /-C') do set "aa=%%a"
Автор: graydevil
Дата сообщения: 06.07.2009 17:25
Спасибо, понятно, а как теперь от переменной убрать лишние 6 цифр с конца,

Есть положим 18050711552 байт, надо получить 18050 мегабайт пусть неточно..

Делить батник не даст, ибо тока до 2гб ограничено....

Автор: NvvLazyTiger
Дата сообщения: 06.07.2009 18:22
graydevil
Цитата:
как теперь от переменной убрать лишние 6 цифр с конца

Код: set aa=%aa:~0,-6%
Автор: newhk
Дата сообщения: 08.07.2009 09:28
народ, подскажите плиз (нет возможности просмотреть все страницы, поэтому заранее извиняюсь за возможные повторы).
есть необходимость скопировать папку с подкаталогами, всего порядка 500, команда
"xcopy (путь\папка путь назначения /s /e /y" не катит, копирует только подкаталоги, без файлов). как скопировать все содержимое папки в командной строке?

все, разобрался
Автор: Maza_Faka
Дата сообщения: 08.07.2009 13:29
newhk
А если добавить параметр /I?
Автор: newhk
Дата сообщения: 08.07.2009 13:34
да все ок уже, в источнике дописал *.* и все скопировалось
=)

Добавлено:
назрел другой вопрос...
есть батник, он лежит на шлешке, батник копирует инфу с флешки на лок. диск, можно ли сделать так, чтобы буква диска присвоенная флешке подставлялась автоматом?
Автор: 01MDM
Дата сообщения: 08.07.2009 15:40
newhk


Цитата:
есть батник, он лежит на шлешке, батник копирует инфу с флешки на лок. диск, можно ли сделать так, чтобы буква диска присвоенная флешке подставлялась автоматом?


переменная %0 это твой батник, а %~dp0 это полный путь к батнику.

Почитай 'for /?'
Автор: newhk
Дата сообщения: 08.07.2009 15:54
не, мне нужен не путь к батнику, а присвоение буквы диска (только диска) флешке в батнике
например:
есть в батнике путь
x:\myfolder\myfolder2\*.*
при первом подключении флешки к компу ей присваивается буква "R" например...
так вот, как сделать чтобы в начале пути x:\myfolder\myfolder2\*.* встала буква "R"?
Автор: Malegik79
Дата сообщения: 08.07.2009 15:57
Господа, напишите пожалуйста скрипт для создания из текущей даты папку с названием месяца и номером недели, типа "July_2"
Автор: 01MDM
Дата сообщения: 08.07.2009 16:10
newhk
Если батник на флешке, то и получишь эту самую R:

Код:
%~d0myfolder\myfolder2\*.*
Автор: Elroir
Дата сообщения: 08.07.2009 16:15
newhk
А если все-таки почитать справку к for-у?

Код:
%~d0\myfolder\myfolder2\*.*
Автор: 01MDM
Дата сообщения: 08.07.2009 16:20
Malegik79

Код:
@echo off
for /f "tokens=1,2" %%i in ('wmic path win32_LocalTime get Month^,WeekInMonth') do (
set "Month=%%i"
set "WeekInMonth=%%j"
)

for /f "tokens=%Month%" %%i in ("Jan Feb Mar Apr May Jun Jul Aug Sep Okt Nov Dec") do md %%i_%WeekInMonth%
Автор: quakerock
Дата сообщения: 09.07.2009 09:41
xcopy /E /d /q /Exclude:exclude.txt "%userprofile%\рабочий стол\Привет" "%userprofile%\рабочий стол\Привет2"

В exclude.txt:.mp3

При копировании этого в cmd.exe выходи сообщение:
C:\Documents and Settings\администратор_РХ>xcopy /E /d /q /Exclude:exclude.txt "
%userprofile%\рабочий стол\Привет" "%userprofile%\рабочий стол\Привет2"
Не удается прочесть файл: exclude.txt

Помогите плз уже не знаю что делать=(
Автор: 01MDM
Дата сообщения: 09.07.2009 10:04
quakerock
Где лежит exclude.txt?
Автор: quakerock
Дата сообщения: 09.07.2009 12:29
exclude.txt лежит в "%userprofile%\рабочий стол\Привет" тоесть в папке из которой копирую
Автор: 01MDM
Дата сообщения: 09.07.2009 12:46
quakerock
Тогда прописывай путь к exclude.txt или он должен быть в той директории, где ты находишься, запуская xcopy.
Автор: Malegik79
Дата сообщения: 09.07.2009 14:25
01MDM
Спасибо огромное)
Поместил код в батник test.bat при запуске из консоли выдает:
C:\>test.bat
ОШИБКА:
Код = 0x80020009
Описание = Ошибка.
Услуга = Dispatch

01MDM помогите плиз
Автор: 01MDM
Дата сообщения: 09.07.2009 15:03
Malegik79
Если бы не было wmic.exe (как в XP Home), то понятно. А так, у меня всё отрабатывает корректно. Проверь еще раз батник, если не копировал с форума, то может где-то описАлся?

Еще могут быть проблемы с разными "сборками".
Автор: Malegik79
Дата сообщения: 09.07.2009 15:16
01MDM Спасибо за оперативность)
Эту ошибку у меня вызывет строчка "wmic path win32_LocalTime"
Винда 2003 сервер энтерпрайз сп2 сборка 3790. Если эта инфа ничего не дает может подскажешь в каком направлении копать?)
Автор: 01MDM
Дата сообщения: 09.07.2009 15:23
Malegik79
Если честно, то затрудняюсь ответит. Хоть и сомневаюсь, что на w2k3, другие классы WMI. Попробую по-другому решить задачу.
Автор: HaK1R
Дата сообщения: 09.07.2009 15:27
Malegik79

Цитата:
Господа, напишите пожалуйста скрипт для создания из текущей даты папку с названием месяца и номером недели, типа "July_2"

неделя начинается первого числа или в понедельник?
т.е. 13 июль 2009 года, как папка должна называться?
Автор: Malegik79
Дата сообщения: 09.07.2009 15:30
HaK1R
В понедельник "Jul_3"

Добавлено:
01MDM
Запустил батник на другой машине отработал без ошибок)) только я туплю может... я не увидел созданную папку... или я не туда смотрю, папка должна создатся в текущей директории?
Автор: 01MDM
Дата сообщения: 09.07.2009 16:27
Malegik79

Цитата:
папка должна создатся в текущей директории?

Там где батник. Или пропиши путь к папке:

Код:
... Dec") do md "C:\Path\To\%%i_%WeekInMonth%"

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: SAS.Планета (часть 2)


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