Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)

Модерирует : gyra, Maz

Widok (03-03-2010 16:29): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
(часть 1) (часть 2)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Задачи на bat-файлах 5
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Урок bat-аники (для начинающих)
· Курс лекций для начинающих. Полезно и просто описано
· Набор GNU утилит для win32
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
· Справка по командам в виде Html
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
· Уильям Станек - Командная строка Microsoft Windows (вплоть до w2k3)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек)
· Переход из 32-битной версии cmd.exe в 64-битную

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:38 10-03-2009 | Исправлено: TechnicsKuzya, 13:54 27-12-2009
ewild

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
%localappdata% это переменная Висты или Windows 7 (LOCALAPPDATA=C:\Users\Юзер\AppData\Local), а там сильно могут быть проблемы прав =)
musicstashall
cmd запускаете с правами администратора (Run As Administrator)?
 
 
 
 

Всего записей: 1195 | Зарегистр. 13-08-2005 | Отправлено: 22:39 25-08-2009
mayachka78



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
01MDM, спасибо! Только немного пришлось изменить:
xcopy /e /i "%AppData%\folder" folder\

Всего записей: 3 | Зарегистр. 25-07-2009 | Отправлено: 23:40 25-08-2009 | Исправлено: mayachka78, 23:54 25-08-2009
musicstashall

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM Пробовал и в кавычки, и в решетки, и в проценты. Раньше, три дня назад, все работало, теперь перестало - че за полтергейст?!
 
ewild
Запускаю и с правами и без прав. На другой учетке запускается и работает без прав.
 
Я мог бы и пережить эту проблему, подскажите лучше, как заставить строку работать со скрытыми системными файлами, в данном случае это файлы UsrClass. Я сделал фикс меню Пуск в Windows 7, теперь к инсталлятору надо как то команду прикрутить на удаление этих файлов, а удалять их по-любому надо, иначе не все пункты меню изменяются.

Всего записей: 147 | Зарегистр. 06-05-2009 | Отправлено: 10:44 26-08-2009 | Исправлено: musicstashall, 11:08 26-08-2009
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
musicstashall

Цитата:
Раньше, три дня назад, все работало, теперь перестало - че за полтергейст?!  

 
set %localappdata% выдает значение?
 

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

 
del /a /f %localappdata%\.....
 
del /?
 
 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:15 26-08-2009
musicstashall

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
 

Цитата:
set %localappdata%

да, значение выдает, в этом то и весь прикол.
 
А как написать, что бы файлы занятые процессом удалились при перезагрузке?
 
Помоги правильно строку написать на удаление скрытых системных файлов в localappdata
 

 Очень жду ответ

Всего записей: 147 | Зарегистр. 06-05-2009 | Отправлено: 11:47 26-08-2009 | Исправлено: musicstashall, 12:14 26-08-2009
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
musicstashall

Цитата:
Помоги правильно строку написать на удаление скрытых системных файлов в localappdata


Код:
 
del /a:h,s /q /f "%localappdata%\*.*" 2>nul
 


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 12:35 26-08-2009
musicstashall

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM

Цитата:
2>nul

А это что означает?
 
Не получается удалять файлы, занятые процессом. Как в строке удалить при перезагрузке или с помощью Unlocker так же в строке.
Плиз!

Всего записей: 147 | Зарегистр. 06-05-2009 | Отправлено: 13:13 26-08-2009 | Исправлено: musicstashall, 13:42 26-08-2009
dimmell

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, плз, как можно сделать (батником или еще как)
Есть текстовый файл XXX, в нем надо:  
1.найти строки по определенным критериям (тексту)
2.сохранить эти строки в текстовый файл YYY
3.случайным образом перемешать эти строки в файле YYY
4.заменить строки п.1. в файле XXX на новые из файла YYY
 
или п.3. и п.4. объединить - случайным образом заменить строки п.1. в файле XXX на новые из файла YYY.
Заранее благодарю.
 

Всего записей: 7 | Зарегистр. 27-04-2007 | Отправлено: 15:13 26-08-2009
ewild

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Не получается удалять файлы, занятые процессом. Как в строке удалить при перезагрузке или с помощью Unlocker так же в строке.  
Плиз!

musicstashall
посмотрите здесь http://xaegr.wordpress.com/2009/04/28/handleexe/

Всего записей: 1195 | Зарегистр. 13-08-2005 | Отправлено: 15:47 26-08-2009
musicstashall

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ewild
Спасибо, но хотелось бы без доп софтин, из строки - возможно ли это? Удалить занятые в процессе файлы при перезагрузке из командной строки?

Всего записей: 147 | Зарегистр. 06-05-2009 | Отправлено: 16:07 26-08-2009 | Исправлено: musicstashall, 16:11 26-08-2009
Artem_Butenko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, пожалуйста, подскажите, каким образом можно скопировать файл, указав целевую папку, путь к которой прописан в некотором ключе системного реестра? Еще пара наболевших вопросов: 1) каким образом можно создать файл или папку, в имени которого (ой) есть пробелы; 2) как лучше организовать бэкап файлов (при их замене) на основе батч-файла? Пожалуйста, покажите это на примерах, буду Вам очень благодарен.

Всего записей: 711 | Зарегистр. 19-02-2008 | Отправлено: 02:49 27-08-2009
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Artem_Butenko

Цитата:
каким образом можно скопировать файл, указав целевую папку, путь к которой прописан в некотором ключе системного реестра?

Примерно так:

Код:
 
@echo off
setlocal
 
set "regpath=hkcu\test\test\test"
for /f "tokens=3*" %%i in ('reg query "%regpath%" /v ParamName') do set "folder=%%i %%j"
 
copy file.txt "%folder%"  
 

 

Цитата:
каким образом можно создать файл или папку, в имени которого (ой) есть пробелы;


Код:
 
md "test test test"
cd.>"test test test.txt"  
 

 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 08:59 27-08-2009
dddimmm



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет, помогите разобраться в такой задаче:
 
В наличии есть файл *.wav
И ссылка к программе  
http://pocket.free.fr/html/soft/wav2bin_e.html
 
Написана она на бейсике, по идее должна переводить файл в бинарный код.
Программа как я понял работает через командную строку, т.к. при запуске установочного файла wav2bin.exe, буквально на секунду выскакивает окно  

 
я успел его перехватить скриншотом…
 
после того, как программа создает бинарный файл, этот файл нужно открыть в текстовом редакторе, скопировать все без пробелов (не знаю почему), далее идем на этот сайт:
http://nickciske.com/tools/binary.php
вводим бинарный код, жмем на encode и получаем конечный результат.
 
 
Сам я далек от этого, попросили сделать…
Может кто подскажет пошагово, как все сделать грамотно…

Всего записей: 1857 | Зарегистр. 28-07-2007 | Отправлено: 09:17 27-08-2009
Sergey_AV



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dddimmm

Цитата:
при запуске установочного файла wav2bin.exe, буквально на секунду выскакивает окно я успел его перехватить скриншотом…

. Чтобы не мучаться в дальнейшем, советую подобные вещи запускать через Far Manager - IMHO, наиполезнейшая тулза, из категории "маст хэв"...

Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 09:44 27-08-2009
dddimmm



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
что я делаю не так:
 
____________________________________
C:\DOCUME~1\User>C:\programm\wav2bin.exe /?
 
Usage   : WAV2BIN srcfile dstfile [T:type] [G:graph]
 
srcFile : Source file name (Wav file)
dstFile : Destination file name (Basic or Binary file)
type    : Destination file type for Basic source file :
           IMG -> Basic binary image, BAS -> Basic (default)
graph   : Special character conversion for BAS type :
           YES -> Convert, NO -> No conversion (default)
 
Version : 1.40
Author  : Pocket -> www.pocketmuseum.com
 
C:\DOCUME~1\User>C:\programm\wav2bin.exe C:\recorded.wav rec [T:BAS] [G:YES]
 
ERROR : Format isn't 1 byte / sample
 
_____________________________________
 
не судите строго...............
 
Добавлено:
я так понимаю можно конвертировать в Основной или Бинарный файл???
 
как в бинарный, кто подскажет правильную командную строку...

Всего записей: 1857 | Зарегистр. 28-07-2007 | Отправлено: 11:26 27-08-2009
moJoKras



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Помогите пожалуйста батничек сделать.
Есть консольная прога azid для разбора ac3 на вавы.
Т.к. все 6 каналов сразу она не может разложить, то надо 6 раз её вызвать.
Можно ли сделать так что батник поочередно вызывал 6 раз прогу и всё что она выдаёт записывать в лог, который бы сохранялся в папки с вавками?
Вот строчки которые использую:

Цитата:
"..\azid.exe" -d3/2 -L0 -l1 -a -F wav_float -oc "..\AudioFile.ac3" "..\us-C.wav"
"..\Azid\azid.exe" -d3/2 -L0 -l1 -a -F wav_float -ol "..\AudioFile.ac3" "..\us-FL.wav"
"..\Azid\azid.exe" -d3/2 -L0 -l1 -a -F wav_float -or "..\AudioFile.ac3" "..\us-FR.wav"
"..\Azid\azid.exe" -d3/2 -L0 -l1 -a -F wav_float -osl "..\AudioFile.ac3" "..\us-SL.wav"
"..\Azid\azid.exe" -d3/2 -L0 -l1 -a -F wav_float -osr "..\AudioFile.ac3" "..\us-SR.wav"
"..\Azid\azid.exe" -d3/2 -L0 -l1 -a -F wav_float -olfe "..\AudioFile.ac3" "..\us-LFE.wav"

Заранее спасибо, а то запарился уже туда сюда строчки гонять...

Всего записей: 1136 | Зарегистр. 14-05-2008 | Отправлено: 12:09 27-08-2009
AlexPC101



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста, как написать батник для перевода в директории всех wav в mp3, притом учитывать и поддериктории, и отдельный батник для обратного перегона.
У меня пока так (использовать желательно lame.exe)
здесь не переименовывает в поддерикториях

Цитата:
 
FOR /R %1 %%G IN (*.wav) DO LAME.EXE -V 2 --vbr-new "%%G" & del "%%G"
ren *.wav.mp3 *.
ren *.wav *.mp3
 

здесь не переводит в wav

Цитата:
 
FOR /R %1 %%G IN (*.mp3) DO LAME.EXE --decode-new "%%G" & del "%%G"
ren *.mp3.wav *.
ren *.mp3 *.wav
 

Всего записей: 28 | Зарегистр. 27-07-2009 | Отправлено: 22:05 28-08-2009
Artem_Butenko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, пожалуйста, помогите реализовать следующие идеи: 1) бэкап файлов с помощью батч. Может есть другой вариант, помимо последовательного использования команд копирования, переименования и перемещения? 2) Возможно ли с помощью батч файлов активировать\блокировать контролы в запущенном приложении (например, снять флажок и заблокировать чек-бокс)? 3) Извлечение из ключа системного реестра пути для копирования файла. С этим вопросом помог разобраться 01MDM, за что ему большое спасибо. Только вот хотелось бы немного доработать этот пример. А именно, если в каталоге назначения уже имеется файл с таким же именем и расширением, необходимо выполнить его резервное копирование (бэкап) в каталог Backup\Test.txt (год, день, час, минута)\Test.txt. Но, приемлимым был бы и такой вариант, когда при копировании нового файла, проверялся бы md5-хэш старого. И, если md5 удовлетворял условиям, старый файл, копировался бы в папку Backup\Test v.x.x\Test.txt, где v.x.x - версия файла, т.е. возможные варианты (v.1.0, v.1.1, v.1.2 и т.д.) и их md5-хэш должны быть заранее прописаны в батч-файле. Буду очень рад, если Вы поможите реализовать эти идеи на практике!

Всего записей: 711 | Зарегистр. 19-02-2008 | Отправлено: 22:56 28-08-2009 | Исправлено: Artem_Butenko, 23:05 28-08-2009
ewild

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
<del>
мой вопрос "... выяснить из .bat файла, что он выполняется в среде x64 или x86 ОС (WinXP x86, Win7 x64)?"
решает связка %PROCESSOR_ARCHITECTURE% и %PROCESSOR_ARCHITEW6432%
 
пример:

Код:
IF "%PROCESSOR_ARCHITECTURE%"=="x86" set xOS=x86
IF "%PROCESSOR_ARCHITECTURE%"=="AMD64" set xOS=x64
IF "%PROCESSOR_ARCHITEW6432%"=="AMD64" set xOS=x64
echo xOS=%xOS%

з.ы.
- если выполнить set из командной строки, или из пакетного файла под родным explorer,
то на x64 OS увидим: PROCESSOR_ARCHITECTURE=AMD64
- если же выполнить тоже, но под процессом 32bit, например из-под Total Commander  
то на той же x64 OS увидим: PROCESSOR_ARCHITECTURE=x86
 
Связана эта свистопляска наличия/значения переменных с перенаправлением в x64 ОС:
Переменная окружения\Битность приложения 32bit Native 64bit Native WOW64    
PROCESSOR_ARCHITECTURE x86 AMD64 x86    
PROCESSOR_ARCHITEW6432 отсутствует отсутствует AMD64

 
 
Добавлено:
конструкция
set YMD=20%DATE:~-2%-%DATE:~3,2%-%DATE:~0,2%
это частичный ответ для Artem_Butenko о получении структуры "\Test.txt (год, день, час, минута)\"
Конкретная же реализация будет напрямую зависеть от значений переменных %DATE% и %TIME%, в свою очередь определяемых коротким форматом даты и времени в региональных настройках.
В частности, если задать короткие форматы даты "yyyy,MM,dd" и времени "HH,mm" то "(год, день, час, минута)" получится очень просто: "(%DATE%,%TIME%)". Однако едва ли такое представление даты и времени пригодно за пределами .bat файла =))
 
по md5 см. http://forum.ru-board.com/topic.cgi?forum=5&topic=29819&start=40#9 и fsum

Всего записей: 1195 | Зарегистр. 13-08-2005 | Отправлено: 13:32 30-08-2009 | Исправлено: ewild, 21:58 12-09-2009
Artem_Butenko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Ребята, пожалуйста, помогите реализовать следующие идеи:
 
   1) бэкап файлов с помощью батч. Может есть другой вариант, помимо последовательного использования команд копирования, переименования и перемещения?
 
   2) Возможно ли с помощью батч файлов активировать\блокировать контролы в запущенном приложении (например, снять флажок и заблокировать чек-бокс)?
 
   3) Извлечение из ключа системного реестра пути для копирования файла. С этим вопросом помог разобраться 01MDM, за что ему большое спасибо. Только вот хотелось бы немного доработать этот пример.  
 
   3.1) А именно, если в каталоге назначения уже имеется файл с таким же именем и расширением, необходимо выполнить его резервное копирование (бэкап) в каталог Backup\Test.txt (год, день, час, минута)\Test.txt.
 
    3.2) Но, приемлимым был бы и такой вариант, когда при копировании нового файла, проверялся бы md5-хэш старого (в папке назначения). И, если md5 удовлетворял условиям, старый файл, копировался бы в папку Backup\Test v.x.x\Test.txt, где v.x.x - версия файла, т.е. возможные варианты (v.1.0, v.1.1, v.1.2 и т.д.) и их md5-хэш должны быть заранее прописаны в батч-файле. Буду очень рад, если Вы поможите реализовать эти идеи на практике!

 
ewild
 
Спасибо за внимание к моему вопросу, только я не так хорошо разбираюсь командной строке и батч-сценариях как Вы. Если у Вас есть время и желание, пожалуйста помогите разобраться особенно с пунктом 3.1 и 3.2. Предыдущий Ваш ответ, как я понял, нацелен в несколько другое русло. Буду Вам Очень благодарен за точные примеры.

Всего записей: 711 | Зарегистр. 19-02-2008 | Отправлено: 16:04 30-08-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Widok (03-03-2010 16:29): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru