Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Упростить Скрипт

Ответить
Настройки темы
VBS/WSH/JS - [решено] Упростить Скрипт

Пользователь


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

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


Написал скрипт. Есть варианты его доработать? Укажите на мои недостатки написания кода
Скрипт
Код: Выделить весь код
'копирую файлы с сервера

Set oShell= CreateObject("WScript.Shell")
oShell.run "cmd.exe /C mkdir ""c:\Program Files (x86)\Tander\invgm"" "
oShell.run "cmd.exe /C copy ""\\server\whs\update\1.exe"" ""c:\Program Files (x86)\MySoft"" "
oShell.run "cmd.exe /C copy ""\\server\whs\update\2.exe"" ""c:\Program Files (x86)\MySoft"" "
oShell.run "cmd.exe /C copy ""\\server\whs\update\start.ini"" ""c:\Program Files (x86)\MySoft"" "

'Создаю ярлык на общем рабочем столе 

set oShell = WScript.CreateObject ("WScript.Shell")
set WshShell = WScript.CreateObject ("WScript.Shell")
DesktopPath = oShell.SpecialFolders("AllUsersDesktop")
set oShellLink = oShell.CreateShortcut(DeskTopPath  & "\MySoft.lnk" )
oShellLink.TargetPath = "C:\Program Files (x86)\MySoft\1.exe" 
oShellLink.Arguments = "start.ini" ' 
oShellLink.WindowStyle = 1 
oShellLink.WorkingDirectory = "C:\Program Files (x86)\MySoft\"
oShellLink.IconLocation = WshShell.ExpandEnvironmentStrings("c:\Program Files (x86)\MySoft\2.exe") & ", 0"
oShellLink.Save

'Создаю ярлык папке MySoft

set WshShell = WScript.CreateObject("WScript.Shell" )
set oShellLink = WshShell.CreateShortcut("c:\Program Files (x86)\MySoft\MySoft.lnk" )
oShellLink.TargetPath = "C:\Program Files (x86)\MySoft\1.exe" 
oShellLink.Arguments = "start.ini"  
oShellLink.WindowStyle = 1
oShellLink.Description = "Shortcut Script"
oShellLink.WorkingDirectory = "C:\Program Files (x86)\MySoft"
oShellLink.Save

'Запускаю ПО для докачки файлов

oShell.Run("""c:\Program Files (x86)\MySoft\MySoft.lnk""" )

Отправлено: 20:28, 29-12-2019

 

Ветеран


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

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


1. Не требуете обязательного объявления переменных (Option Explicit).
2. Многократно задаёте одно и то же значение переменным (oShell, WshShell).
3. Не используете возможности WSH по работе с файловой системой, а продолжаете работать с интерперетатором команд, причём, неправильным образом (cmd.exe /C mkdir …, cmd.exe /C copy …).
4. Задаётесь на жёстко заданные пути и разрядность ОС вместо использования специальных методов (c:\Program Files (x86)), хорошо, что уже не всегда (.SpecialFolders("AllUsersDesktop")), но тем не менее.
5. Не используете конструкцию With … End With там, где есть смысл её использовать (группа команд с oShellLink'ами).
6. Используете код (вероятно, откуда-то скопированный), не вникая в его смысл (.ExpandEnvironmentStrings("c:\Program Files (x86)\MySoft\2.exe")), отчего получается бессмыслица.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:17, 30-12-2019 | #2



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

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


Пользователь


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

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


Цитата Iska:
1. Не требуете обязательного объявления переменных (Option Explicit).
2. Многократно задаёте одно и то же значение переменным (oShell, WshShell).
3. Не используете возможности WSH по работе с файловой системой, а продолжаете работать с интерперетатором команд, причём, неправильным образом (cmd.exe /C mkdir …, cmd.exe /C copy …).
4. Задаётесь на жёстко заданные пути и разрядность ОС вместо использования специальных методов (c:\Program Files (x86)), хорошо, что уже не всегда (.SpecialFolders("AllUsersDesktop")), но тем не менее.
5. Не используете конструкцию With … End With там, где есть смысл её использовать (группа команд с oShellLink'ами).
6. Используете код (вероятно, откуда-то скопированный), не вникая в его смысл (.ExpandEnvironmentStrings("c:\Program Files (x86)\MySoft\2.exe")), отчего получается бессмыслица. »
Большое спасибо. Начал недавно изучать скрипты. Код брал с примеров. Критику учту для правильного написания

Отправлено: 19:05, 30-12-2019 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Упростить Скрипт

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2012 R2 - Сервер терминалов - упростить темы удаленного рабочего стола __sa__nya Windows Server 2012/2012 R2 1 18-07-2015 11:01
System/Проект - каша в сетях на предприятии - упростить identificator1 Сетевые технологии 1 23-04-2012 08:42
Как можно упростить процедуру по переводу в домен? babki Microsoft Windows NT/2000/2003 5 04-02-2007 18:07
[Ъ] Как упростить развертывание настольных систем Windows 2000 Sham Автоматическая установка Windows 2000/XP/2003 0 30-09-2006 04:49
Как можно упростить установку Windows Disconnect Microsoft Windows 95/98/Me (архив) 7 11-11-2004 21:40




 
Переход