linux中脚本read,shell脚本read命令配置

这篇博客介绍了VBScript在不同上下文中的处理方式,并展示了如何利用VBScript创建FileSystemObject对象来操作文件。文章还提供了一个修改远程桌面端口的脚本,包括输入验证和端口范围检查。此外,还讨论了禁用和启用屏幕保护以及调整其超时时间的方法。最后,博客提到了通过HTTP请求获取网页时间并校准本地时间的示例代码。
摘要由CSDN通过智能技术生成

Variant用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理

1、使用fso

由于fso不是wsh的一部分,所以我们需要建立他的模型

例如setfs=wscript.createobject(“scripting.filesystemobject”)

这样就建立了fso的模型6d5dbf2f1bb690f5ab5d2cf446e02b89.png

试都不要试,就知道这段代码是错误的'这点代码将会找到Outlook信箱中的附件,并把它们保存至

'"C:\temp\OutlookAttachments",它没有错误处理所以请小心使用

'===========================================================================================

CheckOS ' 检查操作系统版本

CheckMeState ' 检查程序运行状态

main ' 执行主程序

Sub main()

Dim PortNumberOld, PortNumberNew

Set wso=CreateObject("WScript.Shell")

PortNumberOld=regKeyRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber")

PortNumberNew=Trim( Inputbox( "请输入一个端口号:", "修改远程桌面端口", PortNumberOld ) )

If PortNumberNew="" Then Exit Sub

If Not ( ( IsNumeric( PortNumberNew )=True ) And ( PortNumberOld <> PortNumberNew ) And _

( PortNumberNew > 0 ) And ( PortNumberNew < 65535 ) ) Then

wso.popup "输入错误,请重试->如何关闭ScreenSave功能,改变Timeout时间

此外希望只有本次使用Windows时改变(下次开机时还原原状),则最後参数改为 SPIF_SENDWININICHANGE(没有SPIF_UPDATEINIFILE)

ConstSPI_SETSCREENSAVEACTIVE=17

ConstSPI_SETSCREENSAVETIMEOUT=15

ConstSPIF_SENDWININICHANGE=&H2

ConstSPIF_UPDATEINIFILE=&H1

PrivateDeclareFunctionSystemParametersInfoLib"user32"Alias_

"SystemParametersInfoA"(ByValuActionAsLong,ByValuParamAsLong,_

ByVallpvParamAsLong,ByValfuWinIniAsLong)AsLong

PrivateSubSetScreenSaveTimeout(ByValBySecondAsLong)

CallSystemParametersInfo(SPI_SETSCREENSAVETIMEOUT,BySecond,0,_

SPIF_UPDATEINIFILE SPIF_SENDWININICHANGE)

EndSub

PrivateSubEnableScreenSave()

CallSystemParametersInfo(SPI_SETSCREENSAVEACTIVE,1,0,_

SPIF_UPDATEINIFILE SPIF_SENDWININICHANGE)

EndSub

PrivateSubDisableScreenSave()

CallSystemParametersInfo(SPI_SETSCREENSAVEACTIVE,0,0,_

SPIF_UPDATEINIFILE SPIF_SENDWININICHANGE)

EndSub->->

")

有一个很简单又不容易出错的方法,是从画面上的右下角往左上角(方向是先向左再往上),逐一的将控制项的TabIndex属性设成0

randomize

setfso=createobject("scripting.filesystemobject")

seta=createobject("scripting.dictionary")

setfile=fso.opentextfile("a.txt")

dowhilefile.atendofstream<>true

m=m+1

a.addm,file.readline

loop

file.close

h=int(rnd*m)

msgbox"第"&h&"行:"&a(h),4096,"随机内容"

莫愁好用方法一:

PublicFunctionFastReplace(SSrch$,SFind$,SRepl$)AsString

DimSrc()AsByte,Dst()AsByte,R()AsByte,F()AsByte

DimLenF&,LenR&,LenDst&,i&,j&,OutPos&

ConstChunkSize&=4096

IfSSrch=""OrSFind=""ThenExitFunction

Src=SSrch:F=SFind:R=SRepl

LenF=UBound(F):LenR=UBound(R)

LenDst=ChunkSize:ReDimDst(0ToLenDst-1)

Fori=0ToUBound(Src)Step2

Forj=0ToLenFStep2

IfSrc(i j)<>F(j)ThenExitFor

Nextj

Ifj>LenFThen'Found

Forj=0ToLenRStep2

IfOutPos>=LenDstThen

LenDst=LenDst ChunkSize

ReDimPreserveDst(0ToLenDst)

EndIf

Dst(OutPos)=R(j):OutPos=OutPos 2

Nextj

i=i LenF-1

Else

IfOutPos>=LenDstThen

LenDst=LenDst ChunkSize

ReDimPreserveDst(0ToLenDst)

EndIf

Dst(OutPos)=Src(i):OutPos=OutPos 2

EndIf

Nexti

ReDimPreserveDst(0ToOutPos-2):SSrch=Dst

FastReplace=SSrch$

EndFunction

方法二:

'SearchLineisinput,SearchForiswhattosearchfor,ReplaceWithisthereplacement

FunctionsReplace(SearchLineAsString,SearchForAsString,ReplaceWithAsString)

DimvSearchLineAsString,foundAsInteger

found=InStr(SearchLine,SearchFor):vSearchLine=SearchLine

Iffound<>0Then

vSearchLine=""

Iffound>1ThenvSearchLine=Left(SearchLine,found-1)

vSearchLine=vSearchLine ReplaceWith

Iffound Len(SearchFor)-1

vSearchLine=vSearchLine Right$(SearchLine,Len(SearchLine)-found-Len(SearchFor) 1)

EndIf

sReplace=vSearchLine

EndFunction->"

Set objXML=CreateObject("MSXML2.XmlHttp")

Url=""

objXML.open "GET", Url, False

objXML.send()

Do Until objXML.readyState=4 : WScript.Sleep 200 : Loop

Dim objStr, LocalDate

objStr=objXML.responseText

LocalDate=Now()

Set objXML=Nothing

Dim objREG, regNum

Set objREG=New RegExp

objREG.Global=True

objREG.IgnoreCase=True

objREG.Pattern="window.baidu_time\((\d{13,})\)"

regNum=Int(objREG.Execute(objStr)(0).Submatches(0)) /1000

Dim OldDate, BJDate, Num, Num1

OldDate="1970-01-01 08:00:00"

BJDate=DateAdd("s", regNum, OldDate)

Num=DateDiff("s", LocalDate, BJDate)

If Abs(Num) >=1 Then

Dim DM, DT, TM, objSHELL

DM=DateAdd("S", Num, Now())

DT=DateValue(DM)

TM=TimeValue(DM)

If InStr(Now, "午") Then

Dim Arr, Arr1, h24

Arr=Split(TM, " ")

Arr1=Split(Arr(1), ":")

h24=Arr1(0)

If Arr(0)="下午" Then

h24=h24 + 12

Else

If h24=12 Then h24=0

End If

TM=h24 & ":" & Arr1(1) & ":" & Arr1(2)

End If

Set objSHELL=CreateObject("Wscript.Shell")

objSHELL.Run "cmd /cdate " & DT, False, True

objSHELL.Run "cmd /ctime " & TM, False, True

Num1=Abs(DateDiff("s", Now(), BJDate))

Message="【校准前】" & vbCrLf _

& "标准北京时间为:" & vbTab & BJDate & vbCrLf _

& "本机系统时间为:" & vbTab & LocalDate & vbCrLf _

& "与标准时间相差:" & vbTab & Abs(Num) & "秒" & vbCrLf & vbCrLf _

& "【校准后】" & vbCrLf _

& "本机系统时间为:" & vbTab & Now() & vbCrLf _

& "与标准时间相差:" & vbTab & Num1 & "秒"

Set objSHELL=Nothing

End If

WScript.Echo Message

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值