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

[其他] [已解决]批处理的 if "%~f1"=="" 是什么意思?谢谢

本帖最后由 yyz219 于 2024-3-31 11:58 编辑

问题解决了:


拖放就相当于命令行里命令之后的第一个参数,即%1
比如你将一个文件或目录拖放到批处理图标上,这个文件或目录就会被批处理识别为%1来操作
这一句中,%~f1 就是%1的全路径
意思就是如果%1路径为空就提示  ========= 【将*.webp】 拖拽到 【批处理图标】 ========
并到:m段执行

如果%1路径不为空,后面的代码就是转到%1路径,并设置窗口宽高及颜色
所以有拖放就到绿色窗口,没有拖放就出现黑色窗口提示===========================================




===============================================================
原来的问题:

webp-转-png-JPG格式(拖).bat:
  1. @echo off
  2. echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo. %【留下 10个 空行】%
  3. if "%~f1"=="" echo.              ========= 【将*.webp】 拖拽到 【批处理图标】 ======== & goto :m
  4. ::=======================================================
  5. cd /d "%~dp1"
  6. ::界面大小,Cols为宽,Lines为高
  7. mode con cols=15 lines=7
  8. color 2F
  9. :menu
  10. cls
  11. ECHO.
  12. ECHO  1:转为 PNG
  13. ECHO  2:转为 JPG
  14. ECHO.
  15. set /p a=.▼.选择数字
  16. cls
  17. if %a%==1 goto :PNG
  18. if %a%==2 goto :JPG
  19. :PNG
  20. for %%i in (*.webp) do %~dp0ffmpeg.exe -i "%%i" "%%~ni.png" -y
  21. goto :menu
  22. :JPG
  23. for %%i in (*.webp) do %~dp0ffmpeg.exe -i "%%i" "%%~ni.jpg" -y
  24. goto :menu
  25. ::=======================================================
  26. :m
  27. pause>nul 2>nul
  28. exit
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
我是小白,希望老师多多帮助

为什么拖拽的时候,能够跳过:第一、二行  代码?
我是小白,希望老师多多帮助

TOP

喜欢“拖放”的人,终究有一天会因为特殊字符、误删文件之类的问题而追悔莫及。
1

评分人数

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

TOP

回复 3# Batcher


    谢谢
我是小白,希望老师多多帮助

TOP

返回列表