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

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

Автор: Elroir
Дата сообщения: 03.08.2007 15:05
vserd

Цитата:
Тогда нет смысла городить этот батник

Есть - я же привел пример.
Автор: Yuki2003
Дата сообщения: 03.08.2007 15:15
Последний [more=вариант]
Код: @Echo Off
rem    SetLocal EnableDelayedExpansion
For /f "tokens=2*" %%a In (
'reg query HKLM\SOFTWARE\7-Zip /v Path 2^>nul ^| Findstr /i Path'
) Do Set backup="%%b\7z.exe"
If Not Defined backup Echo Файловый архиватор 7-Zip не установлен>> "7-Zip errors.txt" & GoTo :eof

For /f "tokens=2*" %%a In (
'reg query HKLM\SOFTWARE\Ahead\shared /v NeroAPI 2^>nul ^| Findstr /i NeroAPI'
) Do Set Nero=%%b
If Not Defined Nero Echo Nero не установлен>> "%archDate% Nero errors.txt" & GoTo :eof

del /q "*log.txt"> nul 2>&1

For /f "delims=" %%c In (List.txt) Do (
Set data="%%c"
Set count=0
Call :GetCount "%%c"
Call rocess)
Goto :eof

rocess
%backup% u %archName% %data% -up1q0r2x2y2z1w2 -mx9 -ms=off>> "7-Zip process.txt" 2>&1
Goto :eof

:GetCount
Set archName="%~1"
:Again
For /f "delims=\* tokens=1*" %%d In (%archName%) Do (
Set /a count+=1
Set archName="%%e")
If Not %archName%=="" GoTo Again
For /f "delims=\ tokens=%count%" %%f In ("%data:&=^&%") Do Set archName="%%f"
Goto :eof
Автор: Elroir
Дата сообщения: 03.08.2007 15:16
Yuki2003

Цитата:
Но "вернулась" проблема с &.

У меня все нормально показывает - главное, чтобы текст с символом & был в кавычках. Ну или надо делать так, как написано по ссылке, которую дал vserd.


Добавлено:
Не обновил страницу
Автор: Yuki2003
Дата сообщения: 03.08.2007 15:26

Цитата:
Elroir
Не обновил страницу

Я там немного в порядок привел, если что - обнови еще, спасибо!
Автор: Elroir
Дата сообщения: 03.08.2007 15:55
Yuki2003
Не получается у меня заставить батник работать и с "&" и с "^". Либо с одним проблемы, либо с другим
Автор: KapralBel
Дата сообщения: 03.08.2007 16:07
Elroir
А если эти 2 случая пускать по разным веткам батника?
Автор: Yuki2003
Дата сообщения: 03.08.2007 16:15
Elroir
может %data:&=^&% формировать в цикле?
вроде Set prepData = %data:переменная=^переменная%
и сделать For %%переменная In ( & ^ еще_символ_какой) Set prepData = %data:переменная=^переменная%
Есть смысл пробовать или изначально идея не правильная?

Добавлено:

Цитата:
KapralBel
А если эти 2 случая пускать по разным веткам батника?

Наверное, можно, если их 2 а не 22.
А как по вашему - реально реализвать то, что предложил выше?
Автор: Elroir
Дата сообщения: 03.08.2007 16:38
KapralBel

Цитата:
А если эти 2 случая пускать по разным веткам батника?

Тогда будет работать. Но как их пустить по разным веткам? Использовать find или findstr?


Yuki2003
Могут оба символа встречаться в названии?

Цитата:
может %data:&=^&% формировать в цикле?

Проблема в том, что эти замены друг другу мешают.
Автор: Yuki2003
Дата сообщения: 03.08.2007 16:50

Цитата:
Elroir
Проблема в том, что эти замены друг другу мешают.

Делать замену ^ на ^^ первой! Или я не понял?

Цитата:
Elroir
Могут оба символа встречаться в названии?

Ну да, данные - юзеров. И универсальность опять же, всем пригодится.
Автор: Elroir
Дата сообщения: 03.08.2007 17:09
Yuki2003

Цитата:
Делать замену ^ на ^^ первой! Или я не понял?

Я пытался. Если делать сначала замену ^, а потом &, в названии получаются пробелы, символ ^ вообще пропадает, а & воспринимается как разделитель строки.


Цитата:
Могут оба символа встречаться в названии?
Ну да, данные - юзеров. И универсальность опять же, всем пригодится.

Я имел в виду - могут ли они быть в названии одновременно?
Скорее всего универсальности не получится. В батниках со спец. символами проблемы.
Автор: Maza Faka
Дата сообщения: 03.08.2007 17:14
Yuki2003
Тебе бы при помощи WSH задачку решить, меньше гимора со спецсимволами.
Автор: Yuki2003
Дата сообщения: 03.08.2007 17:58
Maza Faka
неуч я в плане wsh а задачка-то хорошая - в том плане, что многим пригодилась бы!
А может на PowerShell? Пора бы его попробовать, заодно и задачку решу...
Автор: KapralBel
Дата сообщения: 03.08.2007 19:57
Yuki2003
Если будешь пробовать PowerShell то давай тут PowerShell сформулируй задачу
Автор: leon2006
Дата сообщения: 05.08.2007 20:41
Такой вопрос. Необходимо сохранить дерево папок и файлов в текстовый документ через cmd. В памяти провал. Подскажите
Автор: Garrett
Дата сообщения: 05.08.2007 20:52
leon2006
dir /s > file.txt
Автор: Stanley_Tweedle
Дата сообщения: 05.08.2007 21:01
leon2006

echo off
chcp 1251
dir /s /b > file.txt
Автор: graydevil
Дата сообщения: 06.08.2007 12:49
Проблема - нужно запаковать все exe в с тем же именем rar на серваке, ибо задолбали вирусы.

WinRAR есть опция - паковать каждый файл в отддельный архив,
но работает она хренова, подкататоги не обрабатывает, пакует отдельно если выделить
файлы.

Есть у кого идеи, советы по упаковке?
Автор: KapralBel
Дата сообщения: 06.08.2007 13:05
graydevil

Код: @Echo Off
For /R C:\ %%a in (*.exe) Do RAR A -ep "%%~dpna" "%%a"
Автор: graydevil
Дата сообщения: 06.08.2007 13:31
KapralBel

Спасибо!!! Очень помогло! )))
Автор: ali1977
Дата сообщения: 06.08.2007 16:15
товарищи помогите настроить винрар чтобы он автоматом запускался в определенный день в определенное время и упаковывал файлы каждый по отдельности в нужной папке
ключи и команды перепробовал но не получается что то -мануал написан немного мудро и коряво ))) - по крайне мере для моих познаний
Автор: KapralBel
Дата сообщения: 06.08.2007 16:23
ali1977
Задачу поясни - т.е. есть папка в которой надо упаковать каждый файл в отдельный архив?
или папки расбросаны по разным местам

Если одна папка (с подпапками) - то см. мой предыдущий ответ graydevil
там упаковываются все файлы *.exe в тойже папке, что и сам архив ; папкой считается диск С:

А а определенное время - стандартный виндовый планировщик
Автор: ali1977
Дата сообщения: 06.08.2007 16:43
KapralBel
к примеру есть папка на диске Д
там есть файлы
их нужно каждый по отдельности запаковать
при задании такой окманды
winrar a текст.rar f:\555
получается файл в папке
C:\Documents and Settings\username
а мне нужно чтоб файлы упакованные оставались в тойже папке
в стандартном планировщике винрар тока запускается в определенное время и ничего не делает - как его заставить выполнять действия которые мне нужны не пойму
Автор: KapralBel
Дата сообщения: 06.08.2007 16:51
ali1977

Код: @Echo Off
For /R D:\Folder %%a in (*.*) Do RAR A -ep "%%~dpna" "%%a"
Автор: ali1977
Дата сообщения: 06.08.2007 17:22
KapralBel
ничего не происходит
я взял и скопировал код вставил в текстовый блокнот и переименовал (концевые пробелы удалил) в rara.cmd
сохранил его на рабочем столе планировщик настроил на запуск этого файла
но в папке ничего не упаковывается
Автор: Elroir
Дата сообщения: 06.08.2007 19:30
ali1977

Цитата:
ничего не происходит

1. Файл rar.exe должен быть в одной из директорий переменной path. Либо надо добавить к этой переменной директорию Winrar-a.
2. Попробуй запустить батник напрямую - не через планировщик. Посмотри что происходит.
Автор: KapralBel
Дата сообщения: 06.08.2007 20:11
ali1977
или
For /R D:\Folder %%a in (*.*) Do "C:\Program Files\WinRAR\RAR.exe" A -ep "%%~dpna" "%%a"
Автор: ali1977
Дата сообщения: 06.08.2007 20:37
KapralBel
о-о-о-о-о-о
премного благодарен О Великий повелитель cmd - теперь все работает ))))
(я испробовал последний совет)
ps что то я не нашел в строке ни одной команды или ключа который есть в списке справки прилагаемой к винрару
Автор: KapralBel
Дата сообщения: 06.08.2007 20:42
ali1977
а еще лучше прислушайся к совету Elroir
насчет переменной path - жизнь вообще малиной покажется
Автор: ali1977
Дата сообщения: 06.08.2007 21:11
KapralBel

Цитата:
насчет переменной path - жизнь вообще малиной покажется

что то гугл тока такое нашел http://linux.org.ru/books/HOWTO/Path.html


Автор: KapralBel
Дата сообщения: 06.08.2007 21:13
ali1977
Какая операционка?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

Предыдущая тема: Problemi s zagruzkoy XP!


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