批处理如何提取文件位置和文件名 不包括后缀

比如我已经得到一个文件路径C:\abc\file1.abc现在我要将这个路径中得到C:\abc\file1这个字符串就可以我想知道怎么控制取得最好是能有一个完整答案在该目... 比如我已经得到一个文件路径
C:\abc\file1.abc 现在我要将这个路径中得到C:\abc\file1这个字符串就可以 我想知道怎么控制取得 最好是能有一个完整答案 在该目录下面 建立一个同名文件但是后缀不一样
例如知道文件C:\abc\file1.abc 我要建立一个C:\abc\file1.xyz这样一个文件 该怎么写批处理
先悬赏50分 回答好可用好理解 就再加50分
展开
 我来答
bigfaint
推荐于2017-09-08 · TA获得超过2029个赞
知道大有可为答主
回答量:1550
采纳率:25%
帮助的人:691万
展开全部
请参考:

@echo off
set str1=C:\abc\file1.abc
call :show %str1%
echo %str2%

pause
goto :eof

:show
set str2=%~dpn1

简要说明:对于变量%0~%9及for里使用的%i这样的变量,可以有以下的语法:
~I - 删除任何引号("),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小
以上的结果是可以组合的。我们可以通过"%~dpn"这样形式的组合获取一个路径形式的变量的路径及文件名的组合。

在这里,首先我假设"C:\abc\file1.abc"已经在一个变量里面,因为调用它使用的是"%%"的格式,不能扩充,所以我们需要使用call调用一段代码来将它转换成%1的形式。所以你看到了"call :show %str1%" 这一句,通过这里调用call标签后的语句。

另外一个需要注意的是在被调用的":show"标签前面是一句"goto :eof",表示批处理运行至此跳转至文件末尾(也就是退出程序),后面的":show"标签就不会运行了,

相信建立一个C:\abc\file1.xyz这样形式的文件对你来说不是问题,我就不写了
爱上时尚的你33
2019-12-31 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:35%
帮助的人:776万
展开全部
把那些文件都放在一个文件夹里,然后把下面的批放到这个文件夹。
@echo
off
for
/f
%%i
in
('dir
/b
*.*')
do
ren
"%%i"
%%~ni.txt
pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喵星大魔王
2009-05-06 · TA获得超过1145个赞
知道小有建树答主
回答量:572
采纳率:0%
帮助的人:706万
展开全部
@echo off
set pathis=C:\abc\file1.abc
for /f "delims=" %%a in ("%pathis%") do (
>>%%~dpna.xyz echo.
)
rem ********************
rem 星号以上代码另存为xx.bat,根据完整文件名创建后缀为xyz的新文件。你可以自己修改一下pathis后的文件名。
rem for扩充到pathis的路径和文件名(不包括扩展名),CMD下输入for/?可查看这段代码的很多帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
314ccp
2009-05-04 · TA获得超过5625个赞
知道大有可为答主
回答量:1497
采纳率:0%
帮助的人:2139万
展开全部
@echo off
set "ph=C:\abc\file1.abc"
if not "x"=="%2" %0 "%ph%" x
echo %~dpn1
pause

路径你自己改下,ph是path的缩写,
其中:if not "x"=="%2" %0 "%ph%" x是精华。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小楼_春雨
2009-05-05 · TA获得超过642个赞
知道大有可为答主
回答量:843
采纳率:0%
帮助的人:1203万
展开全部
@echo off
set var=C:\abc\file1.abc
for /f "delims=" %%a in ("%var%")do echo %%~dpna
pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式