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

[系统相关] 求助如何用BAT关闭远程FTP目录

RT,我用资源管理器打开了ftp://bbs.ssh.bank,这个FTP服务器根目录下还包含不同的日期文件夹,内含若干文件。现在我想用BAT使用MSHTA直接调用VBS的方式关闭我打开的目录,也许是FTP服务器根目录,也许是根目录下的文件夹,如ftp://bbs.ssh.bank/20181122/。另下面这个可以关闭根目录窗口,但是关不了根目录下文件夹窗口,求原因!
mshta vbscript:execute("For Each w In CreateObject(""Shell.Application"").Windows:If w.LocationName=""bbs.ssh.bank"" Then:w.Quit:End If:Next")(close)

我猜原因是文件夹窗口不满足 If w.LocationName=""bbs.ssh.bank"" 这个条件判断
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

试试这样,这样是只要打开的文件夹路径包含 bbs.ssh.bank 就会关闭
  1. ' 2>nul&cls&@echo off
  2. ' 2>nul&for /f "tokens=1* delims=/" %%a in ('cscript -nologo -e:vbscript "%~f0"^|find "bbs.ssh.bank"') do set a=%%~nxb
  3. ' 2>nul&mshta vbscript:execute("For Each w In CreateObject(""Shell.Application"").Windows:If w.LocationName=""%a%"" Then:w.Quit:End If:Next")(close)
  4. ' 2>nul&pause
  5. ' 2>nul&exit
  6. Dim arrURL(), strURL, oShell, oWin, n
  7. n = -1
  8. Set oShell = CreateObject("Shell.Application")
  9. For Each oWin In oShell.Windows
  10.   If Instr(1, oWin.FullName, "\explorer.exe", vbTextCompare) Then
  11.     n = n + 1
  12.     ReDim Preserve arrURL(n)
  13.     arrURL(n) = oWin.LocationURL
  14.   End If
  15. Next
  16. For Each strURL In arrURL
  17.   wscript.echo strURL
  18. Next
复制代码

TOP

回复 2# Batcher

FTP下文件夹窗口的名字,也是文件夹的名字,并不会是FTP://bbs.ssh.bank/文件夹名字,而且,这种文件夹窗口和普通文件夹窗口不一样。

TOP

本帖最后由 wangxw 于 2019-1-2 11:25 编辑

回复 3# Blitz


    不行,保存为VBS文件执行后没有效果。而且,我是想用MSHTA调VBS的方式来实现 !

TOP

回复 5# wangxw


    保存成bat运行

TOP

回复 6# Blitz


    还是不行。。没有反应

TOP

回复 7# wangxw


    嗯。。。刚刚试了下确实不行,好像ftp的窗口没法用你那句命令关掉

TOP

回复 8# Blitz


    是呀,请帮忙改下吧。。

TOP

回复 9# wangxw


    你试试这个
http://www.bathome.net/viewthread.php?tid=47722

TOP

返回列表