利用wscript.shell给file标签赋值

本文介绍了一个使用JavaScript实现的文件路径自动填充示例。该示例通过定时调用函数,依次将不同类型的文件路径复制到剪贴板,并模拟粘贴操作来自动填写表单中的文件输入字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JS代码:
function onTest(){
   form1.fileName1.focus();
   show();
  }
  var i=1;
  function show(){
   var srcValue="";
   if(i==1) {
    srcValue="D:\\测试1.txt";
   }
   if(i==2) {
    srcValue="D:\\测试2.jpg";
   }
   if(i==3) {
    srcValue="D:\\测试3.doc";
   }
   if(i==4) {
    srcValue="D:\\测试4.xls";
   }
   var WshShell = new ActiveXObject("Wscript.Shell");
   window.clipboardData.clearData("text");
   window.clipboardData.setData("text",srcValue);
   //Wscript.Shell是模拟键盘写入,所以无法直接写入汉字,这里就用CTRL+V的形式。
   WshShell.sendkeys("^v");
   //按顺序写入。
   WshShell.SendKeys("{TAB}")
   WshShell.SendKeys("{TAB}")
   WshShell.Quit;
   if(i>3){
    return;
   }
   i++;
   setTimeout("show()",100);
  }
JSP代码:
     <!--<input name="fileName1" type="file"/>
     <input name="fileName2" type="file"/>
     <input name="fileName3" type="file"/>
     <input name="fileName4" type="file"/>
     <input type="button" onClick="onTest(4);" value="Test">-->
    

请解释以下代码,说明一下每一行代码的作用:# $language = "VBScript" # $interface = "1.0" '本脚本示范:从一个文件里面自动读取设备IP地址,密码等,自动将设备配置备份 Sub Main '程序开始 Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fso,file1,line,str1,params,curDate,ListFile,szError curDate = Year(Date) & "_" & Month(Date) & "_" & Day(Date) & "Gemlynn_bak_sw" '文件路径 ListFile="D:\Download\0305\202309listA1.txt" Set fso = CreateObject("Scripting.FileSystemObject") '判断文件是否存在 if Not fso.FileExists(ListFile) then '如果txt文件不存在,就报错并退出sub crt.Dialog.MessageBox "Session list file not found:" & vbcrlf & vbcrlf & ListFile & vbcrlf & vbcrlf & _ "Create a session list file as described in the description of " & _ "this script code and then run the script again." exit sub end if '容错机制 On Error Resume Next Set file1 = fso.OpenTextFile(ListFile,Forreading, False) crt.Screen.Synchronous = True '备份路径设置*************************************************************************** crt.session.LogFileName = "C:\0305\交换机日志\" & curDate & "1.log" crt.session.Log(true) '进入偱环 'Cisco 192.168.100.254 eggadmin EGGadmin@2014 EGGADMIN@2014 '先进入平台 crt.Session.Connect "/TELNET 192.168.100.254" '输入用户名 crt.Screen.WaitForString "Username:" crt.Screen.Send "eggadmin" & vbcr '输入密码 crt.Screen.WaitForString "assword:" crt.Screen.Send "EGGadmin@2014" & vbcr crt.Screen.WaitForString "EGG-CORE-SW-01>" crt.Screen.Send "en" & vbcr crt.Screen.WaitForString "assword:" crt.Screen.Send params(4) & vbcr clt.sleep 1000 crt.Screen.WaitForString "EGG-CORE-SW-01#" crt.Screen.Send "sh run" & vbcr crt.sleep 2000 DO While crt.Screen.WaitForString("--More--",1) crt.Screen.Send " " LOOP '备份完成后退出 'crt.Screen.WaitForString "end"& vbcr crt.Screen.Send "sh env all" & vbcr crt.sleep 1000 crt.Screen.WaitForString "EGG-CORE-SW-01#" crt.Screen.Send "sh clock" & vbcr crt.sleep 1000 crt.Screen.WaitForString "EGG-CORE-SW-01#" DO While file1.AtEndOfStream <> True '读出每行 line = file1.ReadLine '分离每行的参数 IP地址 用户名 密码 params = Split (line) '交换机分类 Select case params(0) case "Ciscoen" 'Telnet到这个设备上 crt.Screen.Send "tel " & params(1) & vbcr szError = szError & Err.Description '输入用户名 crt.Screen.WaitForString "Username:" crt.Screen.Send params(2) & vbcr '输入密码 crt.Screen.WaitForString "assword:" crt.Screen.Send params(3) & vbcr crt.Screen.Send "en" & vbcr if crt.Screen.WaitForString ("assword:",1) then crt.Screen.Send params(4) & vbcr end if crt.Screen.WaitForString "#" crt.Screen.Send "sh run" & vbcr do While crt.Screen.WaitForString ("--More--",2) crt.Screen.Send " " loop '备份完成后退出 crt.Screen.Send "sh env all" & vbcr crt.sleep 1000 crt.Screen.Send "sh clock" & vbcr crt.sleep 1000 crt.Screen.Send "exit" & vbcr if crt.Screen.WaitForString(">",2) then crt.Screen.Send "exit" & vbcr if not (crt.Screen.WaitForString ("EGG-CORE-SW-01#",2)<>False) then crt.Screen.Send "lklklklklklklklklklklklklklklklk1" & vbcr end if end if
06-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值