Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Нужна помощ в переписании команд из cmd в command.com, или на чтонибудь еще

Ответить
Настройки темы
CMD/BAT - [решено] Нужна помощ в переписании команд из cmd в command.com, или на чтонибудь еще

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


нужна помощ в переписании скрипта
Код: Выделить весь код
@Echo Off
 
If Exist c:\windows\dkdir.txt (
   Call :_Parsing c:\windows\dkdir.txt
   GoTo :EOF
)
 
If Exist C:\dkdir.txt (
   Call :_Parsing C:\dkdir.txt & GoTo :EOF
   GoTo :EOF
)
 
Echo "бла-бла переустановите программу))"
Pause
GoTo :EOF
 
:_Parsing
For /F "Tokens=*" %%A In (%1) Do 7za.exe e 12.zip -o"%%A"
нужно чтоб этот код был переписан для работы в win98 и выше до vistax64))
можно сделать независимый exe файл для выполнения опирации прописаной в этом коде
главное в конце должна добавится конечная папка для извлечения архива - скрипт исполняемый архиватором
Код: Выделить весь код
7za.exe e 12.zip -oконечный каталог "пример 7za.exe e 12.zip -oc:\123\"

Отправлено: 15:33, 18-04-2009

 

Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Цитата TruLander:
нужно чтоб этот код был переписан для работы в win98 »
Нет возможности проверить в Win98, в WinXP работает:
Код: Выделить весь код
Dim FSO, sFile, sFile1, sFile2, sPath, hFile, WshShell

sFile1 = "c:\windows\dkdir.txt"
sFile2 = "c:\dkdir.txt"

Set FSO = CreateObject("Scripting.FileSystemObject")

If FSO.FileExists(sFile1) Then
   sFile = sFile1
ElseIf FSO.FileExists(sFile2) Then
   sFile = sFile2
Else
   MsgBox "Переустановите программу", 16, "Ошибка"
   WScript.Quit 1
End If

Set hFile = FSO.OpenTextFile(sFile, 1)
sPath = hFile.ReadAll()

'MsgBox sPath

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "7z.exe e 12.zip -o" & sPath, 0, True

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:17, 19-04-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


на VBS - вариант!.. на батниках тоже можно (если в dkdir.txt всего одна строчка):
вариант для локализованных DOS/WINDOWS:
Код: Выделить весь код
@Echo Off

If Exist C:\dkdir.txt Set $PATH=C:\dkdir.txt
If Exist C:\WINDOWS\dkdir.txt Set $PATH=C:\WINDOWS\dkdir.txt
If Not "%$PATH%"=="" GoTo _Parsing

Echo "бла-бла переустановите программу))"
Pause
Exit

:_Parsing
Echo.>>%$PATH%
Echo @Echo Off>%windir%\TEMP.BAT
Type %$PATH%|TIME|Find "Введите">>%windir%\TEMP.BAT

 >%windir%\Введите.BAT Echo @Echo Off
>>%windir%\Введите.BAT Echo Set $DIR=%%3
>>%windir%\Введите.BAT Echo If Not "%%$DIR%%"=="" 7za.exe e 12.zip -o%%$DIR%%
Call %windir%\TEMP.BAT

DEL %windir%\Введите.BAT
DEL %windir%\TEMP.BAT
З.Ы. само собой, при желании можно добавить поддержку английской Windows
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:53, 19-04-2009 | #3


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Maza Faka, спасибо за помощ)) по всей видимости это твой скрипт который ты написал мне в другом форуме, а в этом
скрипте
Код: Выделить весь код
Dim FSO, sFile, sFile1, sFile2, sPath, hFile, WshShell

sFile1 = "c:\windows\dkdir.txt"
sFile2 = "c:\dkdir.txt"

Set FSO = CreateObject("Scripting.FileSystemObject")

If FSO.FileExists(sFile1) Then
   sFile = sFile1
ElseIf FSO.FileExists(sFile2) Then
   sFile = sFile2
Else
   MsgBox "Переустановите программу", 16, "Ошибка"
   WScript.Quit 1
End If

Set hFile = FSO.OpenTextFile(sFile, 1)
sPath = hFile.ReadAll()

'MsgBox sPath

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "7z.exe e 12.zip -o" & sPath, 0, True
на winvistax64 выдает
Dim FSO, sFile, sFile1, sFile2, sPath, hFile, WshShell
dim не является внутренней или внешней командой, исполняемой программой или пакетным файлом
sFile1 = "c:\windows\dkdir.txt"
sFile1 не является внутренней или внешней командой, исполняемой программой или пакетным файлом
про sFile2 тоже самое
Set FSO = CreateObject("Scripting.FileSystemObject")
непредвиденное появление then
а, в win98
wscript.quit 1
имя команды указано неправильно
set hfile = fso.opentextfile(sfile, 1)

spath = hfile.readall()
имя команды указано не правильно

set wshshell = wscript.createobject("wscript.shell")

wshshell.run "7z.exe" e 12.zip -o" & spath, 0, true
имя команды указано неправильно

Отправлено: 14:33, 19-04-2009 | #4


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


amel27, спасиб твой вариант работает хорошо.
(если в dkdir.txt всего одна строчка): - в том то и дело что не одна строчка, а 2строчки пример: 1строка [c:\123\], 2строка c:\123, и батник считывает 1 строчку с кавычками и не может из-за этого создать директорию, если для теста убрать 1 строку то все проходит нормально и распаковывает.
при желании можно добавить поддержку английской Windows - это в смысле будет отображатся надпись
bla bla, reinstall the program? я не против)), хотелось бы чтоб если так то в отличном от русского языка отображалась надпись английского содержания если это возможно ну или тогда просто сделать все на английском.
Вот у меня вопрос? "Введите">>%windir%\TEMP.BAT что оно обозначает? я так понимаю это в случае если папка temp не будет найдена то задастся вопрос?

проверял все работает и на вистеx64 и в 98)))

Отправлено: 15:02, 19-04-2009 | #5


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата TruLander:
в том то и дело что не одна строчка, а 2строчки пример: 1строка [c:\123\], 2строка c:\123»
тогда попробуйте так (с поддержкой английской Windows):
Код: Выделить весь код
@Echo Off

If Exist C:\dkdir.txt Set $PATH=C:\dkdir.txt
If Exist C:\WINDOWS\dkdir.txt Set $PATH=C:\WINDOWS\dkdir.txt
If Not "%$PATH%"=="" GoTo _Parsing

Echo "бла-бла переустановите программу))"
Pause
Exit

:_Parsing
Type %$PATH%|Find /V "["|TIME|Find "\">%SystemDrive%\TEMP.BAT

 >%windir%\Введите.BAT Echo If Not Exist %%3\nul.ext MD %%3
>>%windir%\Введите.BAT Echo 7za.exe e 12.zip -o%%3\

 >%windir%\Enter.BAT   Echo If Not Exist %%4\nul.ext MD %%4
>>%windir%\Enter.BAT   Echo 7za.exe e 12.zip -o%%4\

Call %SystemDrive%\TEMP.BAT

DEL %SystemDrive%\TEMP.BAT
DEL %windir%\Введите.BAT
DEL %windir%\Enter.BAT
Цитата TruLander:
в смысле будет отображатся надпись
bla bla, reinstall the program? »
нет, в смысле будет работать не только на русской
Цитата TruLander:
"Введите">>%windir%\TEMP.BAT что оно обозначает? »
"Введите" - первое слово приглашения команды "TIME"
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:51, 20-04-2009 | #6


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


я счастлив, Спасиб все теперь читает 2 строчку)).

Отправлено: 17:32, 20-04-2009 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Нужна помощ в переписании команд из cmd в command.com, или на чтонибудь еще

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Загрузка файла из интернета посредством команд CMD volk1234 Скриптовые языки администрирования Windows 42 30-03-2014 12:16
Разное - [решено] перезагрузка из .bat или .cmd San_dr Программирование и базы данных 7 03-08-2011 01:58
Command Line Gui Wrapper (Интерфейс любых любых dos/cmd программ) Stalingrad Автоматическая установка приложений 5 20-01-2009 16:02
Router - [решено] Проблема с кабелем или чем то еще... NADVooDoo Сетевое оборудование 5 28-12-2008 16:55
FreeBSD - нужна помощ cart3r Общий по FreeBSD 1 11-05-2008 09:28




 
Переход