Войти

Показать полную графическую версию : [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов


Страниц : 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

Ltybc_
20-12-2007, 10:10
Vadikan, Код дать не могу, не потому что жадный, а потому что секретная штукенция. Все, справился сам. Переписал кое что.

sv06
20-12-2007, 22:01
помогите плиз
такая задача - нужен батник который бы запаковывал файлик c именем XXXXY,ZZ1 в архив arj, требования таковы имя архива должно быть как и имяфайла XXXXY,ZZ1 где Y - месяц по порядку от 1-9,a,b,c и ZZ число, ещё добавляется единичка в расширении.
скажем исходный файл 1111c.20, в результате должен быть архив 1111с.201
тоесть имя архива длолжно быть как имя файла только добавляется единичка ...подскажите как ...заранее всем спасибо

Andrei076
15-01-2008, 12:19
Люди помогите кто чем может
беру файл из дистрибутива Windows XP распаковываю его как написано с помощью Expand меняю что мне надо и запаковываю с помощью Makecab
потомо с помощью утилиты ModifyPE исправляю контрольную сумму модифицированных файлов. но это всё подходит когда надо перепокоавть пару файлов а если их много
кто-нибуть подскажите а нельзя ли это всё делать автоматически что бы 20-30 файлов сразу. А то руками очень долго
помогите написать батник
может у кого-нибуть есть готовый скинте на mail comsfera@onego.ru

hasherfrog
15-01-2008, 14:53
Andrei076, наверное можно. Маловато информации для размышления. Готового -- нет.

Andrei076
15-01-2008, 16:17
надо чтобы сначала запускался Makecab
а потом исправлять контрольную сумму файлов ModifyPE
правда в голову ни чего неприходит
а так бы было милое дело

Vadikan
15-01-2008, 19:05
hasherfrog, тут два этапа. Допустим, все нужные файлы находятся в некой папке. На первом этапе их все нужно распаковать командой expand -r filename.xxx. При этом они могут иметь различное расширение, как в запакованном виде, так и распакованном (lib.dl_ -> lib.dll). Дальше будет производиться ручная правка.

На втором этапе нужно обработать все файлы (независимо от расширения) командой modifype.exe filename.xxx -cпосле чего нужно запаковать их обратно командой makecab.exe filename.xxx

hasherfrog
15-01-2008, 19:31
Vadikan, а куда они должны распаковываться? В ту же папку или нет? В принципе, довольно легко вроде бы :-|

Vadikan
15-01-2008, 19:32
hasherfrog, наверное, проще в другую, чтоб не путались с запакованными. Ну да, вроде не сложно FOR ... IN... DO... но все равно надо уметь :)

hasherfrog
15-01-2008, 19:52
Vadikan, для распаковки, файл batchexp.bat:
@if "%1"=="" goto usage
@if "%2"=="" goto usage
@set ipathname=%1
@set opathname=%2

if not exist %opathname%\. mkdir %opathname%
if not exist %opathname%\. goto usage
if not exist %ipathname%\. goto usage

@FOR /R %ipathname% %%i IN (*) do expand -r %%i %opathname%\
goto exithere

:usage
@echo batchexp.bat - Expand all files in directory to another directory.
@echo Usage batchexp.bat from_pathname to_pathname

:exithere

Только я пока не очень понимаю, наверное, смысл. Может, надо каждый файл распаковывать в собственную поддиректорию? Потому что если в исходных будет архив, он распакуется в несколько файлов, и потом очень трудно будет понять, какой файл из какого архива взялся (для обратной запаковки).

Vadikan
15-01-2008, 21:31
hasherfrog, насколько я понимаю, речь идет о системных файлах дистрибутива (i386), которые запакованы в cab индивидуальным образом, т. е. каждый файл представляет собой cab архив и расширение у таких файлов filename.XX_ (lib.dl_), а после распаковки expand получается уже полное расширение.

Andrei076
16-01-2008, 13:31
Все файлы находяться C:\XP\i386 с расшерением filename.XX_
просто я хочу заменить группу файлов в общей сложности у меня их вышло 97
а каждый перепоковывать руками долго да и время уходит а так бы всё за один раз было бы здорово

HiAll
31-03-2008, 08:23
Здравствуйте. Мне нужна помощь в написание bat файла.

Как сделать что бы бат файл копировал себя из запускаймой папки в определенное место на винте? А потом удалялся?

Т.е если я запущу bat*ник на рабочем столе он должен будет копироватся в С:\dctmpDeleter И потом удалится на рабочем столе а в с:\1 остатся .... как такое сделать?

Petya V4sechkin
31-03-2008, 11:13
Как сделать что бы бат файл копировал себя из запускаймой папки в определенное место на винте? А потом удалялся?
Т.е если я запущу bat*ник на рабочем столе он должен будет копироватся в С:\dctmpDeleter И потом удалится на рабочем столе
Copy /Y %0 C:\dctmpDeleter
Del /F /Q %0

HiAll
31-03-2008, 14:27
Привет всем. спасибо Petya V4sechkin, помог.... но все таки не то что я хотел ..скажите мне что я делаю не правильно.

[code]@echo off
if not exist %~n0.vbs echo>%~n0.vbs CreateObject("WScript.Shell").Run"%~dp0%~n0.bat",0&reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v dctmp /d "\"%~dp0%~n0.vbs\"" /f
for %%a in (C) do if exist %%a: del/q/f/s %%a:\*.dctmp [code\] ---- этот код работает в фоновом режиме... т.е записывает себя в реестр для автозапуска и удалиния файлов с расширение dctmp на диске С.





@echo off
Copy /Y %0 C:\dctmpDeleter
if not exist %~n0.vbs echo>%~n0.vbs CreateObject("WScript.Shell").Run"%~dp0%~n0.bat",0&reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v dctmp /d "\"%~dp0%~n0.vbs\"" /f
for %%a in (C) do if exist %%a: del/q/f/s %%a:\*.dctmp
Del /F /Q %0 - А этот код делает почти все тоже самое.... только вот Копирует и удоляет файлы он не в фоновом режиме... т.е открывает окно командной строки

и еще нашел еще одну проблемку.... батник сначала копирует себя потом делает запись в реестре потом создает VBS файл а потом удаляет себя =((. Как сделать что бы в реестр добавлялся уже скопированный файл? и все копировалось\удолялось в фоне?

zi0n
03-04-2008, 15:03
Здравствуйте, необходимо написать бат файл который каким то оьразом будет подлючать интернет.
Есть интернет подключение (наименование Internet), на рабочем столе есть ярлык Internet.
я пытался сделать так: start C:\....\...\Рабочий стол\Internet.lnk
Но он сразу начинает выводить окно спомощью чего вам открыть формат .lnk ...
Тогда попробывал задать ярлыку горячие клавиши (Ctlr+Alt+D), но не знаю как использовать их в бат файле.
Вот такая вот проблемка, буду очень благодарен, если вы мне поможите.

skatet
04-04-2008, 09:38
rasdial попробуй
или рег.файл
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
"VPN"="rasdial VPN user pass"

zi0n
04-04-2008, 14:29
skatet,
Спасибо большое, помогло
А как через регфайл то сделать, напиши как это уже готовое выглядеть должно.

И есть ли какой ни-ть кодинг ( как в ХТМЛ например) что бы шифровать содержимое бат файлов ?

zi0n
04-04-2008, 16:04
Еще возникла проблема, теперь когда использую простые операторы типа choice или deltree
пишет что они не являются не внутренними не внешними, хотя раньше все работало прекрасно.

skatet
04-04-2008, 16:48
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
"VPN"="rasdial VPN user pass"

скопируй этот текст в тхт и сохрани с расширением reg и можешь импортировать.
rasdial VPN user pass" меняй здесь: vpn - название подключения, может быть любым
user и pass - сотв логин и пароль

И есть ли какой ни-ть кодинг ( как в ХТМЛ например) что бы шифровать содержимое бат файлов ?
- имеешь ввиду чтоб нельзя было команды прочемсть?

skatet
04-04-2008, 16:52
reg файл




© OSzone.net 2001-2012