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

[系统相关] WIN7系统运行代码提示错误

大家好:

经过近期的学习,写了一些bat程序:循环自动将指定文件夹内文件移动到其他位置。

问题点:在WIN10系统运行正常,在WIN7系统运行会导致系统卡死
最终在各位的指导下排查出异常代码:隐藏运行窗口
个人理解:难道是win7系统不能识别或者不支持?
想问下大家win7情况下想隐藏运行窗口该如何实现?
提示错误代码:
  1. start mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(window.close)&&exit
复制代码
错误排查方法写真(因论坛图片上传失败,所以使用图床):
在com界面一句一句运行,确认哪一步出现异常。
1.
2.
3.

完整代码:
  1. if "%1"=="hide" goto CmdBegin
  2. start mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(window.close)&&exit
  3. :CmdBegin
  4. @echo off
  5. set INTERVAL=10
  6. :Again
  7. rem 批处理保存为ansi编码格式
  8. set "folder1=C:\Users\dmns25163\Desktop\AAA"
  9. set "folder2=S:\DMNSPZJC"
  10. for %%a in ("%folder1%\*.*") do (
  11. if not exist "%folder2%\%%~nxa" (
  12. move "%%a" "%folder2%"
  13. ) else (
  14. set n=1
  15. call :1 "%%a"
  16. )
  17. )
  18. timeout %INTERVAL%
  19. goto Again
  20. pause
  21. exit
  22. :1
  23. set /a n+=1
  24. if not exist "%folder2%\%~n1(%n%)%~x1" (
  25. move "%~1" "%folder2%\%~n1(%n%)%~x1"
  26. exit /b
  27. ) else (
  28. goto :1
  29. )
复制代码

回复 1# adfs945
  1. if "%1"=="hide" goto :ExecBat
  2. start mshta vbscript:createobject("wscript.shell").run("""%~f0"" hide",0)(window.close) && exit /b
  3. :ExecBat
  4. @echo off
  5. start notepad
  6. ping -n 5 127.0.0.1 >nul
复制代码
我在Win7里面测试没有问题。
你改成%~f0再试试,如果还是不行,检查一下批处理所在完整路径是否有特殊字符。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

路径有英文逗号?

TOP

你在命令行界面执行
  1. start mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(window.close)&&exit
复制代码
提示找不到文件是因为批处理外%~0无法被扩展,实际这行代码应该没有问题。

TOP

啊,原来你是直接在cmd里输入的,就如楼上所说的那样

TOP

都是高手啊,向大咖学习

TOP

返回列表