[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
个人感觉要写一个命令的话,它应该有必要的提示信息,合适的返回值,然后就是在内部自己尽量避免由于不规范或者预期之外的参数传入造成的影响。你要写CMD命令的话还是可以边试参考系统的,有些功能估计用VBS还可以扩充一些额外的参数,但是有些可能就难以实现了。做起来是个很大的工程啊,自己有兴趣就好。
我刚刚也写了一个attrib,也没有/s参数,但是加入了一些提示:
  1. Function Attrib(strPath, strArgs)
  2.     Dim strAttr, strOp, strArgsU
  3.     strAttr = "RHSVDALC"
  4.     strOp   = "-+"
  5.     strArgsU = UCase(strArgs)
  6.     Dim fso, df, valAttrib
  7.     Set fso = CreateObject("Scripting.FileSystemObject")
  8.     If fso.FileExists(strPath) Then
  9.         Set df = fso.GetFile(strPath)
  10.     ElseIf fso.FolderExists(strPath) Then
  11.         Set df = fso.getFolder(strPath)
  12.     Else
  13.         Err.Description = "File not found - " & aa
  14.         Err.Raise 3265
  15.         Exit Function
  16.     End If
  17.     valAttrib = df.attributes
  18.     If Not strArgsU = "" Then
  19.         Dim pa, po, i, j, s
  20.         For pa = 1 To 8
  21.             i = pa - 1
  22.             For po = 1 To 2
  23.                 j = po - 1
  24.                 s = Mid(strOp, po, 1) & Mid(strAttr, pa, 1)
  25.                 If Instr(strArgsU, s) > 0 Then
  26.                     If j = 0 Then
  27.                         valAttrib = valAttrib And (&HFF - 2 ^ i)
  28.                     ElseIf j = 1 Then
  29.                         valAttrib = valAttrib Or (2 ^ i)
  30.                     End If
  31.                 End If
  32.             Next
  33.         Next
  34.         df.attributes = valAttrib
  35.     End If
  36.     For i = 0 To 7
  37.         If df.attributes And (2 ^ i) Then
  38.             Attrib = Attrib & Mid(strAttr, i + 1, 1)
  39.         Else
  40.             Attrib = Attrib & "-"
  41.         End If
  42.     Next
  43.     Attrib = Attrib & vbTab & df.Path
  44. End Function
复制代码

TOP

返回列表