Batch file dos批处理字符串操作
我正试图编写一些dos批处理脚本来处理一些路径。我已经好几年没这样做了,所以我可能已经生锈了 路径是相对的,从命令行作为参数给出Batch file dos批处理字符串操作,batch-file,dos,Batch File,Dos,我正试图编写一些dos批处理脚本来处理一些路径。我已经好几年没这样做了,所以我可能已经生锈了 路径是相对的,从命令行作为参数给出 @echo off set wpath=%1 @echo.%wpath% set newpath=%wpath:~0,-4% @echo.%newpath% 我试图完成的事情是摆脱扩展 script.bat whatever/test.txt whatever/test.txt whatever/test 但是我越来越 script.bat whatever/te
@echo off
set wpath=%1
@echo.%wpath%
set newpath=%wpath:~0,-4%
@echo.%newpath%
我试图完成的事情是摆脱扩展
script.bat whatever/test.txt
whatever/test.txt
whatever/test
但是我越来越
script.bat whatever/test.txt
whatever/test.txt
<emptyline>
script.bat/test.txt
无论如何/test.txt
我使用的是dosemu-1.4.0.1/DOSBox-0.74,作为一个你可以检查dosemu的限制,它能处理吗
echo%路径:~0,4%
(仅为正数),只需获取字符串长度即可或者你可以试试
对于(“%path%”)中的%%A,执行echo%%~dpnA
显然,这些是wimcmd扩展,在DOS中找不到,如果还有人在这里:)这是正确的-我刚刚重新检查了我的CMD,它按预期工作。我只能假设dosemu没有正确地模拟命令!嗯,这就是我害怕的。我现在能想到的就是(如果你知道将传递什么文件),用字符串替换所有可能的扩展名。。。ie设置路径=%path:.txt=%。。。。设置路径=%path:.pdf=%。。。等-让我知道如果你找到另一种方法,或寻找不同的模拟器!第一个返回第二个%dpnA您是在命令行上测试第二个(只需百分之一)还是在批处理中测试第二个(需要百分之二)C:\>对于(“%path%”)中的%a执行echo%~dpnA
C:\>echo%~dpnA%dpnA
C:\>