Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file dos批处理字符串操作_Batch File_Dos - Fatal编程技术网

Batch file 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

我正试图编写一些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/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:\>