Показать полную графическую версию : [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов
Vadikan, Код дать не могу, не потому что жадный, а потому что секретная штукенция. Все, справился сам. Переписал кое что.
помогите плиз
такая задача - нужен батник который бы запаковывал файлик 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
правда в голову ни чего неприходит
а так бы было милое дело
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, а куда они должны распаковываться? В ту же папку или нет? В принципе, довольно легко вроде бы :-|
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
Только я пока не очень понимаю, наверное, смысл. Может, надо каждый файл распаковывать в собственную поддиректорию? Потому что если в исходных будет архив, он распакуется в несколько файлов, и потом очень трудно будет понять, какой файл из какого архива взялся (для обратной запаковки).
hasherfrog, насколько я понимаю, речь идет о системных файлах дистрибутива (i386), которые запакованы в cab индивидуальным образом, т. е. каждый файл представляет собой cab архив и расширение у таких файлов filename.XX_ (lib.dl_), а после распаковки expand получается уже полное расширение.
Andrei076
16-01-2008, 13:31
Все файлы находяться C:\XP\i386 с расшерением filename.XX_
просто я хочу заменить группу файлов в общей сложности у меня их вышло 97
а каждый перепоковывать руками долго да и время уходит а так бы всё за один раз было бы здорово
Здравствуйте. Мне нужна помощь в написание bat файла.
Как сделать что бы бат файл копировал себя из запускаймой папки в определенное место на винте? А потом удалялся?
Т.е если я запущу bat*ник на рабочем столе он должен будет копироватся в С:\dctmpDeleter И потом удалится на рабочем столе а в с:\1 остатся .... как такое сделать?
Petya V4sechkin
31-03-2008, 11:13
Как сделать что бы бат файл копировал себя из запускаймой папки в определенное место на винте? А потом удалялся?
Т.е если я запущу bat*ник на рабочем столе он должен будет копироватся в С:\dctmpDeleter И потом удалится на рабочем столе
Copy /Y %0 C:\dctmpDeleter
Del /F /Q %0
Привет всем. спасибо Petya V4sechkin, помог.... но все таки не то что я хотел ..скажите мне что я делаю не правильно.
[code]@echo off
if not exist %~n0.vbs echo>%~n0.vbs CreateObject("WScript.Shell").Run"%~dp0%~n0.bat",0® 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® 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 файл а потом удаляет себя =((. Как сделать что бы в реестр добавлялся уже скопированный файл? и все копировалось\удолялось в фоне?
Здравствуйте, необходимо написать бат файл который каким то оьразом будет подлючать интернет.
Есть интернет подключение (наименование Internet), на рабочем столе есть ярлык Internet.
я пытался сделать так: start C:\....\...\Рабочий стол\Internet.lnk
Но он сразу начинает выводить окно спомощью чего вам открыть формат .lnk ...
Тогда попробывал задать ярлыку горячие клавиши (Ctlr+Alt+D), но не знаю как использовать их в бат файле.
Вот такая вот проблемка, буду очень благодарен, если вы мне поможите.
rasdial попробуй
или рег.файл
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
"VPN"="rasdial VPN user pass"
skatet,
Спасибо большое, помогло
А как через регфайл то сделать, напиши как это уже готовое выглядеть должно.
И есть ли какой ни-ть кодинг ( как в ХТМЛ например) что бы шифровать содержимое бат файлов ?
Еще возникла проблема, теперь когда использую простые операторы типа choice или deltree
пишет что они не являются не внутренними не внешними, хотя раньше все работало прекрасно.
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 - сотв логин и пароль
И есть ли какой ни-ть кодинг ( как в ХТМЛ например) что бы шифровать содержимое бат файлов ?
- имеешь ввиду чтоб нельзя было команды прочемсть?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.