标题: [其他] [已解决]批处理的 if "%~f1"=="" 是什么意思?谢谢 [打印本页]
作者: yyz219 时间: 2024-2-25 11:35 标题: [已解决]批处理的 if "%~f1"=="" 是什么意思?谢谢
本帖最后由 yyz219 于 2024-3-31 11:58 编辑
问题解决了:
拖放就相当于命令行里命令之后的第一个参数,即%1
比如你将一个文件或目录拖放到批处理图标上,这个文件或目录就会被批处理识别为%1来操作
这一句中,%~f1 就是%1的全路径
意思就是如果%1路径为空就提示 ========= 【将*.webp】 拖拽到 【批处理图标】 ========
并到:m段执行
如果%1路径不为空,后面的代码就是转到%1路径,并设置窗口宽高及颜色
所以有拖放就到绿色窗口,没有拖放就出现黑色窗口提示===========================================
===============================================================
原来的问题:
webp-转-png-JPG格式(拖).bat:- @echo off
- echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo. %【留下 10个 空行】%
- if "%~f1"=="" echo. ========= 【将*.webp】 拖拽到 【批处理图标】 ======== & goto :m
- ::=======================================================
- cd /d "%~dp1"
- ::界面大小,Cols为宽,Lines为高
- mode con cols=15 lines=7
- color 2F
- :menu
- cls
- ECHO.
- ECHO 1:转为 PNG
- ECHO 2:转为 JPG
- ECHO.
- set /p a=.▼.选择数字
- cls
- if %a%==1 goto :PNG
- if %a%==2 goto :JPG
- :PNG
- for %%i in (*.webp) do %~dp0ffmpeg.exe -i "%%i" "%%~ni.png" -y
- goto :menu
- :JPG
- for %%i in (*.webp) do %~dp0ffmpeg.exe -i "%%i" "%%~ni.jpg" -y
- goto :menu
- ::=======================================================
- :m
- pause>nul 2>nul
- exit
复制代码
作者: yyz219 时间: 2024-2-25 11:55
为什么拖拽的时候,能够跳过:第一、二行 代码?
作者: Batcher 时间: 2024-2-25 22:00
喜欢“拖放”的人,终究有一天会因为特殊字符、误删文件之类的问题而追悔莫及。
作者: yyz219 时间: 2024-2-26 06:46
回复 3# Batcher
谢谢
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |