[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理怎样重命名文件夹名称为IP地址+时间并上传到FTP服务器?

重命名文件夹名称为IP地址+时间,重命名完成后上传到FTP服务器

IP地址是通过 ipconfig 命令获取?

QQ 20147578

TOP

回复 2# czjt1234


    都可以,

TOP

回复 1# 2210698653


打开一个CMD窗口,执行命令:
  1. >1.txt echo %date%
  2. >>1.txt echo %time%
  3. >>1.txt ipconfig /all
复制代码
把生成的 1.txt 传上来我试试
如果需要上传文件,可以用阿里云盘或百度网盘。

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. rem 另存为 ANSI 编码
  2. ' & cls & cscript.exe /nologo /e:vbscript "%~f0" %* & pause & exit
  3. folder = "D:\1"
  4. ftp    = "ftp://a:Aa12345678@192.168.0.11"
  5. If wsh.Arguments.Count > 0 Then folder = wsh.Arguments(0)
  6. Set oShell = CreateObject("Shell.Application")
  7. Set oFolder = oShell.NameSpace(ftp)
  8. Set oFSO = CreateObject("Scripting.FileSystemObject")
  9. If Not oFSO.FolderExists(folder) Then wsh.Echo "未找到文件夹" : wsh.Quit()
  10. Set oWMI = GetObject("Winmgmts:\\.\Root\Cimv2")
  11. For Each i In oWMI.InstancesOf("Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'True'")
  12.     s = i.IPAddress(0)
  13. Next
  14. s = s & "_" & F_D_T(Now(), "yyyymmdd_HHMMSS")
  15. s = oFSO.BuildPath(oFSO.GetParentFolderName(folder), s)
  16. wsh.Echo "原文件夹" & vbTab & folder
  17. wsh.Echo "重命名为" & vbTab & s
  18. wsh.Echo
  19. oFSO.MoveFolder folder, s
  20. Set oFolderItem = oShell.NameSpace(s).Self
  21. oFolder.CopyHere oFolderItem
  22. Function F_D_T(ByVal d, ByVal s)
  23.     Dim oSWbemDateTime, oWMI, i, TimeZone
  24.     Select Case UCase(s)
  25.         Case "CIM_DATETIME"
  26.             Set oSWbemDateTime = CreateObject("WbemScripting.SWbemDateTime")
  27.             oSWbemDateTime.SetVarDate d
  28.             F_D_T = oSWbemDateTime.Value
  29.         Case "INTERVAL FORMAT"
  30.             Set oSWbemDateTime = CreateObject("WbemScripting.SWbemDateTime")
  31.             oSWbemDateTime.SetVarDate d
  32.             oSWbemDateTime.IsInterval = True
  33.             F_D_T = oSWbemDateTime.Value
  34.         Case "FILENAME"   'UTC时间
  35.             Set oSWbemDateTime = CreateObject("WbemScripting.SWbemDateTime")
  36.             oSWbemDateTime.SetVarDate d
  37.             F_D_T = oSWbemDateTime.GetFileTime(False)
  38.         Case "UNIX"       '10位Unix时间戳,UTC时间
  39.             Set oWMI = GetObject("Winmgmts:\\.\Root\Cimv2")
  40.             For Each i In oWMI.ExecQuery("SELECT * FROM Win32_OperatingSystem")
  41.                 TimeZone = i.CurrentTimeZone
  42.             Next
  43.             i = DateDiff("s", #1970-01-01 00:00:00#, d)
  44.             F_D_T = i - TimeZone * 60
  45.         Case Else
  46.             s = Replace(s, "yyyy", Year(d), 1, -1, vbTextCompare)
  47.             s = Replace(s, "yy", Right(Year(d), 2), 1, -1, vbTextCompare)
  48.             s = Replace(s, "mm", Right("0" & Month(d), 2), 1, -1, vbBinaryCompare)
  49.             s = Replace(s, "m", Month(d), 1, -1, vbBinaryCompare)
  50.             s = Replace(s, "dd", Right("0" & Day(d), 2), 1, -1, vbTextCompare)
  51.             s = Replace(s, "d", Day(d), 1, -1, vbTextCompare)
  52.             s = Replace(s, "HH", Right("0" & Hour(d), 2), 1, -1, vbTextCompare)
  53.             s = Replace(s, "H", Hour(d), 1, -1, vbTextCompare)
  54.             s = Replace(s, "MM", Right("0" & Minute(d), 2), 1, -1, vbBinaryCompare)
  55.             s = Replace(s, "M", Minute(d), 1, -1, vbBinaryCompare)
  56.             s = Replace(s, "SS", Right("0" & Second(d), 2), 1, -1, vbTextCompare)
  57.             s = Replace(s, "S", Second(d), 1, -1, vbTextCompare)
  58.             F_D_T = s
  59.     End Select
  60. End Function
复制代码


请自行修改ftp
win7x64测试通过,未考虑多网卡多ip的情况
支持文件夹拖放,支持文件夹绝对路径作为批处理命令行参数

QQ 20147578

TOP

返回列表