Batch file 我需要从批处理输入循环中的命令获取文件名
我正在批处理文件中进行提示循环 我正在尝试读取命令和参数的输入 目前,我检查了Batch file 我需要从批处理输入循环中的命令获取文件名,batch-file,arguments,substring,Batch File,Arguments,Substring,我正在批处理文件中进行提示循环 我正在尝试读取命令和参数的输入 目前,我检查了open的前4个字母,然后我想抓取下一个单词,它应该是要打开的文件名 我想抓取索引1处空格之间的文本 打开file.txt->文件.txt 我需要一个中弦的倒数 中间字符串:%input:~0,4%-openfile.txt->open 我真的需要%input:~5,-0%才能工作!哈哈 %input:~5,-1%有效。。。为什么不使用0而不是1 很遗憾,batch无法获取字符串的长度 我发现了一些可以得到字符串长度的
open
的前4个字母,然后我想抓取下一个单词,它应该是要打开的文件名
我想抓取索引1处空格之间的文本
打开file.txt
->文件.txt
我需要一个中弦的倒数
中间字符串:%input:~0,4%
-openfile.txt
->open
我真的需要%input:~5,-0%
才能工作!哈哈
%input:~5,-1%
有效。。。为什么不使用0
而不是1
很遗憾,batch无法获取字符串的长度
我发现了一些可以得到字符串长度的东西:
我用代码试过了:
call :strlen length input
echo %input:~5,length%
它的语法总是很奇怪
@echo off
set "input=open file.txt"
for /f "tokens=2" %%a in ('echo/%input%') do (set "fileName=%%a")
echo/%fileName%
pause>nul
如果未指明,则一直到字符串末尾
如果未指明,则一直到字符串末尾
如果未指明,则一直到字符串末尾
直到字符串末尾,如果没有指示。Rafaels答案有一点变化(检查第一个单词的
是否打开):
Rafaels答案的一点变化(检查第一个单词的open
):
Rafaels答案的一点变化(检查第一个单词的open
):
Rafaels答案的一点变化(检查第一个单词的open
):
echo %input:~5%
@echo off
set "input=open file.txt"
for /f "tokens=1,2" %%a in ('echo/%input%') do ( if /i "%%a"=="open" set "fileName=%%b")
echo/%fileName%
pause>nul