在我描述我的问题之前,我必须说我是新手来执行命令行提示(Windows 10)。
我有一个包含txt文件的目录(以及其他文件)。我需要执行命令行可执行文件(txt2las),其中读取txt文件并写入.las文件。这就是我到目前为止的命令提示符for /R %f in (.\*.txt) do txt2las -i %f -o %f.laz
但是,这会创建name.txt.laz之类的文件。我想要的是name.laz,因此以某种方式从开头到最后四个字符取得子串。有人可以帮我怎么做吗?
我尝试了子串“函数”,但没有写任何东西。
答案 0 :(得分:0)
... do txt2las -i %f -o %~nf.laz
可以通过从提示符执行for /?
来阅读文档。
答案 1 :(得分:0)
您可以使用~n
修饰符提取文件的名称(不带扩展名):
for /R %f in (.\*.txt) do txt2las -i %f -o "%~dpnf.laz"
您可以在FOR /?
帮助文档中了解有关修饰符的更多信息。
根据评论编辑:
要确保它与源位于同一目录中,请添加~dp
修饰符以及~n
。除文件d
之外,这将提取p
rive和n
ath。此外,如果路径中包含空格,您可能希望将整个输出用引号括起来。