|
zh159
金牌会员
     
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第 16 楼』:
使用 LLM 解释/回答一下
VBS生成的IE界面窗口里的文件链接只能采用绝对地址连接,所以不是太合适采用多html文件组成界面
你那个界面好像是每个选中的软件还得单独经过一个界面配置才安装,比较麻烦,建议绿色软件用WinRAR做成绿色安装版就OK了
我 14 楼的脚本适当加入一些代码就可以在界面中增加软件说明、默认需要安装的软件等;尽量简单为好
The file links in the IE interface window generated by VBS can only use absolute addresses for connection, so it is not very suitable to use multiple html files to form the interface.
Your interface seems to require each selected software to go through a separate interface configuration for installation, which is relatively cumbersome. It is suggested that green software be made into a green installation version with WinRAR and that's it.
The script on my 14th floor can be appropriately added with some code to add software descriptions, default software that needs to be installed, etc. in the interface; try to be as simple as possible.
|
|
2007-3-7 14:13 |
|
|
HUNRYBECKY
银牌会员
    
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第 17 楼』:
使用 LLM 解释/回答一下
Originally posted by zh159 at 2007-3-7 14:13:
VBS生成的IE界面窗口里的文件链接只能采用绝对地址连接,所以不是太合适采用多html文件组成界面
你那个界面好像是每个选中的软件还得单独经过一 ...
我的这个安装是BAT+VBS+HTML做的,因为我给出的代码是经过BAT生成的VBS代码,当然就没有了BAT的内容,VBS回把结果返回给BAT,然后使用BAT+RAR解压缩安装或直接调用EXE程序的.
安装方式我给出了4种,第一钟常规方式,不仅可以用来安装绿色软件,而且可以安装普通的EXE文件,如果是WINRAR 或7ZIP压缩的绿色软件则直接解压缩,最后历篇安装目录中的 GSETUP.BAT(表示每个绿色软件的批处理程序)来完成安装;第二种则只安装经过特殊制作的WINRAR压缩包,怎么个特殊法,其实就是在压缩绿色软件时在绿色软件解压缩时自动调用里面的GSETUP.BAT来实现,这样就简化了安装过程,我的绿色软件基本上都是这样的模式,比较方便,既可以手动安装,又可以使用RAR命令来解压缩安装.第三种方式表示修复安装后的绿色软件,原因很简单,如果重新安装了系统等,原来的绿色软件就无法再使用了,那么就可以简单的使用这个修复功能了,自动历篇指定目录的存在GSETUP.BAT并执行之.第四个则是直接历篇指定目录中的 UINSTALL.BAT来进行绿色软件的删除.因为我的标题是" 一键安装管理器",所以所有操作都体现这个主题,没有让用户过多的去参与.
如果在程序目录存在InStallList.txt文件那么程序自动调用该文件并在IE界面上列出来让用户选择,如果不存在该文件,我提供两个选择,一是直接历篇目录中的所有EXE,RAR,7Z文件,根据压缩文件的注释自动添加软件的安装说明(需要在制作压缩文件时设置好),如果没有则保留为空表格;二是提供了一个制作安装脚本按钮,用户可以直接点生成就可以根据压缩文件的注释自动生成InStallList.txt文件,那么用户就可以修改InStallList.txt中的安装说明,同时重新加载时大大提高了速度.
做这个程序的目的是因为我是电脑管理员,不仅经常给公司安装程序(很多大程序如OFFICE等我都做成了绿色版),也常常给同事朋友等安装程序,那么写出这个程序,安装软件也就一切变的很简单了.把我绿色软件全部复制过去,用户自己就可以安装了,不用我跑来跑去的.
谢谢ZH兄的大力支持,问下,我现在只有哪个界面不是很满意,真的没有办法解决了吗?要固定住头和尾,通过 13楼的方法可以实现吗?这是别人给的代码,可是我怎么搞都不行,还有没有其他办法,使用IFRAME可以吗?因为只要把 IFRAME放到中间,设置适当的高度和宽度,首尾不用管,所以应该实现,但我不知道怎么做?
这次在制作这个程序的过程,由于我以前基本上没有接触过VBS和HTML,所以比较困难,在学习你的程序中我发现了很多有意思的东西,而且通过不断的模拟和测试我发现以下几个东西很有用:>>%Temp%\Temp.vbs echo Wscript.Echo .IPATH.value其实不好用,那么我可以修改为>>%Temp%\Temp.vbs echo Wscript.Echo "SET IPATH="+.IPATH.value也就是说使用Wscript.Echo把变量返回给CMD时可以直接把CMD的语法和命令附加上去,这样在使用FOR语句获取变量时不用在分情况进行了,只需要使用for /f "delims=" %%i in ('"cscript //nologo %Temp%\Temp.vbs"') do ( CALL %%i)一句话就可以轻松搞定,我发现GOTO,ECHO 等命令都可以附加给Wscript.Echo,在制作HTML页面时给复选框,选项组等名同一个名字,然后使用FOR来循环检测非常方便有效.
另外,参考你的哪个程序,我发现是直接在内存中直接生成的HTML文件,如果是这样,那么使用FRAME或IFRAME在内存地址中调用(我查过帮助,说是可以通过相对地址连接或描点进行连接的),好象挺难的呀;还有就是你的哪个产生背景的DEBUG汇编程序很有意思,不知是什么原理.
Last edited by HUNRYBECKY on 2007-3-7 at 10:22 PM ]
Originally posted by zh159 at 2007-3-7 14:13:
The file links in the IE interface window generated by VBS can only use absolute addresses, so it is not very suitable to use multiple html files to form the interface
Your interface seems to require each selected software to go through a separate ...
My installation is made with BAT + VBS + HTML. Because the code I provided is the VBS code generated by BAT, of course there is no content of BAT. VBS will return the result to BAT, and then use BAT + RAR to decompress and install or directly call the EXE program.
There are 4 installation methods I provided. The first one is the conventional method, which can not only be used to install green software, but also install ordinary EXE files. If it is a green software compressed by WINRAR or 7ZIP, it will be directly decompressed, and finally the GSETUP.BAT in the installation directory (indicating the batch processing program of each green software) is executed to complete the installation; the second one only installs the specially made WINRAR compressed package. How is it special? In fact, it is to automatically call the GSETUP.BAT inside when decompressing the green software when compressing the green software, so as to simplify the installation process. Most of my green software is in this mode, which is relatively convenient. It can be installed manually or use the RAR command to decompress and install. The third method means to repair the installed green software. The reason is very simple. If the system is reinstalled, the original green software can not be used anymore, then this repair function can be simply used, and the GSETUP.BAT existing in the specified directory is automatically traversed and executed. The fourth one is to directly traverse the UINSTALL.BAT in the specified directory to delete the green software. Because my title is " One-click Installation Manager", so all operations reflect this theme, and the user does not need to participate too much.
If the InStallList.txt file exists in the program directory, the program will automatically call the file and list it on the IE interface for the user to choose. If it does not exist, I provide two options. One is to directly traverse all EXE, RAR, 7Z files in the directory, and automatically add the installation instructions of the software according to the comments of the compressed file (it needs to be set well when making the compressed file). If not, keep it as an empty table; the other is to provide a button to make the installation script. The user can directly click to generate and automatically generate the InStallList.txt file according to the comments of the compressed file, then the user can modify the installation instructions in InStallList.txt, and the speed will be greatly improved when reloading.
The purpose of making this program is because I am a computer administrator. I not only often install programs for the company (many large programs such as OFFICE and so on I have made into green versions), but also often install programs for colleagues and friends. Then I wrote this program, and installing software has become very simple. Just copy all my green software over, and the user can install it by himself, without me running around.
Thank you, Brother ZH, for your great support. Ask, I am not satisfied with only the interface now. Is there really no way to solve it? To fix the head and tail, can it be realized by the method of 13th floor? This is the code given by others, but no matter how I do it, it doesn't work. Is there any other way? Can I use IFRAME? Because as long as I put the IFRAME in the middle, set the appropriate height and width, and don't care about the head and tail, so it should be realized, but I don't know how to do it?
In the process of making this program this time, since I basically have no contact with VBS and HTML before, it is relatively difficult. In the process of learning your program, I found a lot of interesting things, and through continuous simulation and testing, I found the following things are very useful: >>%Temp%\Temp.vbs echo Wscript.Echo .IPATH.value is not easy to use, then I can modify it to >>%Temp%\Temp.vbs echo Wscript.Echo "SET IPATH="+.IPATH.value That is to say, when using Wscript.Echo to return the variable to CMD, I can directly attach the syntax and commands of CMD. In this way, when using the FOR statement to obtain the variable, there is no need to carry out in different situations. Just use for /f "delims=" %%i in ('"cscript //nologo %Temp%\Temp.vbs"') do ( CALL %%i) A sentence can be easily done. I found that commands such as GOTO, ECHO, etc. can all be attached to Wscript.Echo. When making the HTML page, give the check box, option group, etc. the same name, and then use FOR to loop and detect very conveniently and effectively.
In addition, referring to your program, I found that it directly generates the HTML file in memory. If this is the case, then using FRAME or IFRAME to call in the memory address (I checked the help, it is said that it can be connected or anchored through the relative address), it seems quite difficult; and the DEBUG assembly program that generates the background is very interesting, I don't know what the principle is.
Last edited by HUNRYBECKY on 2007-3-7 at 10:22 PM ]
|
|
2007-3-7 21:51 |
|
|
zh159
金牌会员
     
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第 18 楼』:
使用 LLM 解释/回答一下
那个>>%Temp%\Temp.vbs echo Wscript.Echo .IPATH.value我也是在后面此才学会用>>%Temp%\Temp.vbs echo Wscript.Echo "SET IPATH="+.IPATH.value,
列表文件直接生成一个“InStallList.htm”文件,在IFRAME中调用绝对地址就可以了(相对地址我试过找不到文件,只能用CMD生成绝对地址)
>>List.vbs echo .write "<iframe width=420 height=400 src='%cd%\InStallList.htm'></iframe>"
html中不区分路径的“/”“\”符号
I also learned to use >>%Temp%\Temp.vbs echo Wscript.Echo "SET IPATH="+.IPATH.value later. The list file directly generates an "InStallList.htm" file, and you can call the absolute address in the IFRAME (I tried relative addresses and couldn't find the file, so I had to use CMD to generate the absolute address).
>>List.vbs echo .write "<iframe width=420 height=400 src='%cd%\InStallList.htm'></iframe>"
In HTML, the symbols "/" and "\" for paths are not distinguished.
|
|
2007-3-7 22:50 |
|
|
HUNRYBECKY
银牌会员
    
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第 19 楼』:
使用 LLM 解释/回答一下
Originally posted by zh159 at 2007-3-7 22:50:
那个>>%Temp%\Temp.vbs echo Wscript.Echo .IPATH.value我也是在后面此才学会用>>%Temp%\Temp.vbs echo Wscript.Echo "SET IPATH="+.IPATH.value,
列表文件直接生 ...
谢谢,我试验下.不过今天很忙.有结果在回复你.再次谢谢ZH兄.
Thanks, I'll test it out. But I'm very busy today. I'll reply you when I get the result. Thanks again, Brother ZH.
|
|
2007-3-7 23:25 |
|
|
HUNRYBECKY
银牌会员
    
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第 20 楼』:
使用 LLM 解释/回答一下
Originally posted by zh159 at 2007-3-7 22:50:
那个>>%Temp%\Temp.vbs echo Wscript.Echo .IPATH.value我也是在后面此才学会用>>%Temp%\Temp.vbs echo Wscript.Echo "SET IPATH="+.IPATH.value,
列表文件直接生 ...
ZH兄,我今天晚上试验下,有问题,主要是两个方面,一是如何产生一个HTML的文件以便在IFRAME调用,我发现无法直接WRITE方法,因为这个直接写到当前IE窗体,而无法写入文件,我使用>d:\ok.htm echo <body>,但是ECHO无法处理HTML中的><等符号,如果加引号,即>d:\ok.htm echo "<body>"那么会在IE中产生很多"",很不好看,我使用Scripting.FileSystemObject方法虽然可以解决问题,但是装了杀毒软件的都是提示不安全的脚本,给杀掉。有没有好的方法?
二是我在通过VBS产生的IE窗体中在<ifame>调用的HTM总是空白的,不知道什么回事,我调用其他HTTP地址也是空的。但是我在其他HTML文件调用却是正常的,是不是通过VBS的 WRITE写到当前IE窗体中不能使用IFRAME?觉得好奇怪哟。
Last edited by HUNRYBECKY on 2007-3-8 at 10:11 AM ]
Originally posted by zh159 at 2007-3-7 22:50:
I also learned to use >>%Temp%\Temp.vbs echo Wscript.Echo "SET IPATH="+.IPATH.value later on this part of "that >>%Temp%\Temp.vbs echo Wscript.Echo .IPATH.value"
The list file is directly generated...
Brother ZH, I experimented tonight, and there are mainly two aspects of problems. First, how to generate an HTML file for calling in an IFRAME. I found that I can't directly use the WRITE method because this directly writes to the current IE window and can't write to a file. I used >d:\ok.htm echo <body>, but ECHO can't handle symbols like > and < in HTML. If I add quotes, that is >d:\ok.htm echo "<body>", then many "" will be generated in IE, which is not nice. I used the Scripting.FileSystemObject method, although it can solve the problem, but antivirus software installed will all prompt for unsafe scripts and kill them. Is there a good method?
Second, the HTM called in the IE window generated by VBS in <iframe> is always blank. I don't know what's going on. I call other HTTP addresses and it's also empty. But when I call it in other HTML files, it's normal. Is it that using WRITE to write to the current IE window through VBS can't use IFRAME? It's really strange.
Last edited by HUNRYBECKY on 2007-3-8 at 10:11 AM ]
|
|
2007-3-8 09:55 |
|
|
zh159
金牌会员
     
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第 21 楼』:
使用 LLM 解释/回答一下
试了一下,VBS好像不支持iframe框架内的选择项目属性,这样的话只能做成单个html列表文件
I tried it, and it seems that VBS doesn't support the property of selecting items within the iframe frame. In that case, it can only be made into a single HTML list file.
|
|
2007-3-8 12:29 |
|
|
HUNRYBECKY
银牌会员
    
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第 22 楼』:
使用 LLM 解释/回答一下
Originally posted by zh159 at 2007-3-8 12:29:
试了一下,VBS好像不支持iframe框架内的选择项目属性,这样的话只能做成单个html列表文件
这样好麻烦呀.呵呵,第一个问题也比较麻烦.不知道能否解决<>特殊符号的问题。
Originally posted by zh159 at 2007-3-8 12:29:
Tried it, VBS doesn't seem to support the selection item properties within the iframe frame. In this case, it can only be made into a single html list file
This is quite troublesome. Hehe, the first problem is also relatively troublesome. I don't know if the problem of < > special characters can be solved.
|
|
2007-3-9 02:58 |
|
|
zh159
金牌会员
     
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第 23 楼』:
使用 LLM 解释/回答一下
如果是单个html文件,可以先写成VBS,这样就不用考虑<>符号的问题
<>符号用^<^>方式写入
If it is a single HTML file, you can first write it as VBS, so that you don't have to worry about the problem of <> symbols.
<> symbols are written in the way of ^<^>
|
|
2007-3-9 05:13 |
|
|
HUNRYBECKY
银牌会员
    
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第 24 楼』:
使用 LLM 解释/回答一下
Originally posted by zh159 at 2007-3-9 05:13:
如果是单个html文件,可以先写成VBS,这样就不用考虑<>符号的问题
<>符号用^<^>方式写入
为什么要加入^符号?是转义的吧,那有很多有。哈哈。工作量可大了。VBS好像只能直接写屏幕呀,怎么写单个文件呢?使用Scripting.FileSystemObject倒是可以,但是杀毒软件老是拦截呀,VBS有没有其他方法?谢谢ZH兄。
Last edited by HUNRYBECKY on 2007-3-9 at 08:09 AM ]
Originally posted by zh159 at 2007-3-9 05:13:
If it is a single HTML file, you can first write it as VBS, so that you don't have to worry about the problem of <> symbols
Use ^<^> to write <> symbols
Why add the ^ symbol? It's for escaping, right, but there are many of them. Haha. That's a lot of work. It seems that VBS can only write directly to the screen. How to write a single file? Using Scripting.FileSystemObject is possible, but antivirus software always intercepts it. Is there any other way for VBS? Thanks, Brother ZH.
Last edited by HUNRYBECKY on 2007-3-9 at 08:09 AM ]
|
|
2007-3-9 08:05 |
|
|
everest79
金牌会员
      一叶枝头,万树皆春
积分 2564
发帖 1127
注册 2006-12-25
状态 离线
|
『第 25 楼』:
使用 LLM 解释/回答一下
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /l %%i in (1,1,9) do (set menu%%i= )
:menu
echo ... %msg%
echo 1.sw.exe 2.sw.exe
echo 3.sw.exe 4.sw.exe
echo.
echo installation check all quit
echo.
set /p xx="SYSTEM\installation command>"
set xx=%xx:~0,1%
if /i %xx%] == i] goto install
if /i %xx%] == a] (for /l %%i in (1,1,9) do set menu%%i=X)&&cls&&goto menu
if /i %xx%] == q] exit/b
echo %xx%|findstr /v >nul&&cls&&set msg= "%xx%" input error!&&goto menu||set msg= &&if /i
我写的菜单,嘿嘿
```
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /l %%i in (1,1,9) do (set menu%%i= )
:menu
echo ... %msg%
echo 1.sw.exe 2.sw.exe
echo 3.sw.exe 4.sw.exe
echo.
echo installation check all quit
echo.
set /p xx="SYSTEM\installation command>"
set xx=%xx:~0,1%
if /i %xx%] == i] goto install
if /i %xx%] == a] (for /l %%i in (1,1,9) do set menu%%i=X)&&cls&&goto menu
if /i %xx%] == q] exit/b
echo %xx%|findstr /v >nul&&cls&&set msg= "%xx%" input error!&&goto menu||set msg= &&if /i
|
|
2007-3-9 13:19 |
|
|
HUNRYBECKY
银牌会员
    
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第 26 楼』:
使用 LLM 解释/回答一下
Originally posted by everest79 at 2007-3-9 13:19:
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /l %%i in (1,1,9) do (set menu%%i= )
:menu
echo ... %msg%
echo 1.sw.exe 2.sw.exe
echo 3.sw ...
这个与我的问题有关吗?看了半天也没有什么关系呀。
这个与我的问题有关吗?看了半天也没有什么关系呀。
Is this related to my question? I've looked at it for a long time and it doesn't seem related at all.
|
|
2007-3-10 01:47 |
|
|
everest79
金牌会员
      一叶枝头,万树皆春
积分 2564
发帖 1127
注册 2006-12-25
状态 离线
|
『第 27 楼』:
使用 LLM 解释/回答一下
嘿嘿,html的方法太复杂了,我帮你想了个简单点的
Hehe, the HTML method is too complicated. I thought of a simpler one for you
|
|
2007-3-13 06:36 |
|
|
HUNRYBECKY
银牌会员
    
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第 28 楼』:
使用 LLM 解释/回答一下
Originally posted by everest79 at 2007-3-13 06:36:
嘿嘿,html的方法太复杂了,我帮你想了个简单点的
只要认真去研究,也不是很复杂,我原来也是CMD版的,可是没有什么界面,看到ZH159兄的那个谁说批处理界面不漂亮后也就想跟着学学,所以该该HTML版,最后还是把两个版本结合起来。
Originally posted by everest79 at 2007-3-13 06:36:
Hey, the HTML method is too complicated. I came up with a simpler one for you.
As long as you study it carefully, it's not too complicated. I used to be in the CMD version too, but there was no interface. After seeing Brother ZH159's post about someone saying batch processing interfaces aren't beautiful, I also wanted to learn along, so I modified the HTML version. In the end, I combined the two versions.
|
|
2007-3-13 09:26 |
|
|