标题: [特效代码] [已解决]求助:批处理光标回退 [打印本页]
作者: meiszp 时间: 2023-6-8 08:29 标题: [已解决]求助:批处理光标回退
本帖最后由 meiszp 于 2023-6-12 08:40 编辑
光标显示的输入位置在语句后,想回退到扩展名前。
set /p file=将abc.txt更改为: .txt
显示效果 将abc.txt更改为:.txt ( 光标位置)
想要的效果 将abc.txt更改为:( 光标位置,在此输入).txt
作者: hfxiang 时间: 2023-6-8 10:08
回复 1# meiszp - set /p file = 将 abc.txt 更改为: .txt
复制代码
作者: keshun 时间: 2023-6-8 10:12
回复 1# meiszp - @echo off
- setlocal enabledelayedexpansion
- set /p file=将abc.txt更改为:.txt
- echo 将abc.txt更改为:%file%
- echo.
- set "filename=%file:~0,-4%"
- set "extension=%file:~-4%"
- echo 将abc.txt更改为:%filename% (光标位置,在此输入)%extension%
复制代码
作者: meiszp 时间: 2023-6-8 10:37
回复 2# hfxiang
谢谢!是我想要的效果,但输入较多文字会删除后面的.txt。
作者: meiszp 时间: 2023-6-8 10:40
回复 3# keshun
谢谢!不是我想要的效果。
作者: buyiyang 时间: 2023-6-8 11:36
set /p只会获取输入,整个“将abc.txt更改为: .txt”都是提示,不会成为变量的值。
作者: czjt1234 时间: 2023-6-8 15:36
本帖最后由 czjt1234 于 2023-6-8 15:37 编辑
- @echo off
-
- set /p file=将abc.txt更名为:
- if /i "%file:~-4%" neq ".txt" set file=%file%.txt
-
- echo %file%
- pause
复制代码
不管人家的输入是否带有 .txt 都可以,比提醒人家不要输入 .txt 要好
作者: keshun 时间: 2023-6-8 16:19
本帖最后由 keshun 于 2023-6-8 16:22 编辑
- @echo off
- setlocal enabledelayedexpansion
- set /p "file=将abc.txt更改为:.txt"
- echo 将abc.txt更改为:%file%
- echo.
- set "filename=%file:~0,-4%"
- set "extension=%file:~-4%"
- set /p "inputText=将abc.txt更改为:%filename% (光标位置,在此输入)"
- set "outputText="
- for %%n in (!inputText!) do (
- set "outputText=!outputText!%%n "
- echo %extension% !outputText:~0,-1!|more /p
- echo \b\b!outputText:~0,-1!|more /p>nul
- )
复制代码
回复 5# meiszp
作者: meiszp 时间: 2023-6-12 08:38
回复 7# czjt1234
非常完美!谢谢1
作者: meiszp 时间: 2023-6-12 08:39
回复 8# keshun
谢谢再次回复!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |