`

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

 
阅读更多

比如我已经得到一个文件路径
C:\abc\file1.abc 现在我要将这个路径中得到C:\abc\file1这个字符串就可以 我想知道怎么控制取得 最好是能有一个完整答案 在该目录下面 建立一个同名文件但是后缀不一样
例如知道文件C:\abc\file1.abc 我要建立一个C:\abc\file1.xyz这样一个文件 该怎么写批处理
先悬赏50分 回答好可用好理解 就再加50分

 

 

请参考:

@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"标签就不会运行了,

分享到:
评论

相关推荐

    bat批处理批量修改文件名后缀

    `set "filename=%%~ni"`这行代码提取出文件的基本名称(不包括扩展名),并将其赋值给变量`filename`。 最后,`ren "%%i" "!filename!.newext"`执行重命名操作,将原始文件(由`%%i`表示)的扩展名更改为`.newext`...

    批处理批量文件改名

    - `%~ni`是批处理的参数扩展,它可以提取参数的各个部分,如 `%~dpnxi` 分别表示驱动器、路径、不带扩展名的文件名和扩展名。 - `for /R %i in (*) do ( ... )` 可以递归地遍历当前目录及其子目录下的所有文件。 ...

    批处理批量压缩文件,压缩当前文件夹下所有指定后缀名文件

    批处理批量压缩当前文件夹下所有指定后缀名文件,批处理批量压缩指定类型文件为每个单独压缩包。 使用前解压本压缩包 本压缩包内容由WinRaR.exe文件与bat文件组成,使用时需要将所需打包的同类型文件放置到WinRaR....

    右键菜单给文件名添加时间后缀

    然后在新项下创建一个子项“command”,并将“默认”值设置为批处理文件的完整路径,例如`C:\Users\YourName\Desktop\Filnam_add_time.bat "%1"`,这里的"%1"代表被选中的文件路径。 完成以上步骤后,用户在Windows...

    批处理获取文件名.bat

    批处理获取文件名,将此bat文件和要获取得文件放在同一目录下执行即可,goodluck,批处理获取文件名.bat

    运用excel和批处理批量修改文件名

    然后,我们可以将文本文档的后缀名改为 ".bat",并将该批处理文件放入要修改名字的文件夹中。最后,我们可以运行该批处理文件,将文件名批量修改。 4. 实际应用 在实际应用中,我们可以使用 Excel 和批处理来批量...

    批处理改变文件后缀名

    cc后缀名的文件在SI中无法正常显示,可以使用这个工具,将文件夹下及其子文件夹下的以cc为后缀名的文件重命名

    批量修改文件名 | 支持指定扩展名的批处理

    在这里,`%%~ni`获取的是文件名部分,不包括扩展名。 支持模糊查询的批处理可以通过通配符实现,例如修改所有以“abc”开头的.txt文件为.docx: ```cmd @echo off for %%i in (abc*.txt) do ( ren "%%i" "%%~ni....

    修改文件夹内所有文件后缀

    每种编程语言都有其特定的文件操作方法,但基本思路是相同的:遍历文件,获取文件名,修改后缀,然后重命名文件。在实际应用中,你需要根据自己的需求和所使用的编程环境选择合适的方法。同时,记得在执行这类操作时...

    批处理修改文件扩展名(c++源代码)

    通过字符串函数如`std::string::find_last_of(".")`可以找到文件名中最后一个"."的位置,从而提取出扩展名。然后可以通过字符串切割或者截取操作修改扩展名。 5. **批处理**: 批处理意味着一次处理多个文件。这...

    bat文件-文件后缀自动识别

    本文将深入探讨“bat文件-文件后缀自动识别”这一主题,包括bat批处理文件的工作原理、如何识别文件后缀名以及如何编写这样的脚本。 **批处理文件(BAT)** 批处理文件是基于DOS命令行操作的集合,它们以.bat或....

    用于批量修改文件名,包括后缀名,前缀名

    批量修改文件名包括对文件的前缀和后缀进行操作。前缀是指文件名最前面的部分,比如"example_"就是一个前缀,它前面的空白字符也算作前缀。后缀则是指文件名的扩展名,如".txt"、".jpg"等。在很多情况下,我们需要...

    最好用的批量修改文件名批处理

    标签"批量 修改文件名 批处理"进一步明确了这个脚本的主要功能,即批量修改文件名和后缀,且采用批处理方式进行。批处理的优势在于可以一次性处理多个文件,极大地提高了工作效率。 在提供的压缩包文件名称列表中,...

    文件名+后缀批量更改工具.zip

    当我们处理大量的文件时,有时需要对文件名或后缀进行批量更改,以实现统一的命名规则,便于整理和检索。"文件名+后缀批量更改工具.zip"就是这样一个实用的工具,它能够帮助用户高效地完成这一工作。 批量更改...

    文件名批处理工具.zip

    提取文件名称则可能指的是获取文件的基本信息,如文件的基本名称(不包括扩展名)或扩展名本身。这对于数据分析或归档过程可能是必要的,特别是在需要将文件名信息导入其他程序或数据库时。 批量删除文件名中的空格...

    批量更改文件名后缀

    批量更改文件名后缀是一个高效且必要的技能,尤其对于处理大量数据或文件整理的IT专业人员来说。下面我们将详细介绍如何批量更改文件名后缀,以及相关的实用工具和方法。 1. **Windows操作系统中的批量重命名功能**...

    forfiles 批处理删除文件

    ### forfiles 批处理删除文件知识点详解 #### 一、forfiles 命令概述 `forfiles` 是 Windows 操作系统内置的一个强大工具,它允许用户基于文件的最后修改日期来执行各种命令,比如复制、移动或者删除文件等操作。...

    批量加减文件名后缀

    在提供的压缩包文件中,我们有三个批处理文件:`jia.bat`、`jian.bat` 和 `zhao.bat`,分别对应增加后缀、减少后缀和查找具有特定后缀的文件的功能。 1. **增加后缀** (`jia.bat`): 这个脚本主要用于在文件名的...

    文件和图像重名的批处理

    - **解析模式**:定义正则表达式或其他模式来识别和提取文件名中的关键部分。 - **自定义字段**:用户可指定要提取的字段,如日期、作者、版本等。 - **导出列表**:提取的信息可以导出为CSV或Excel表格,便于...

    根据文件名创建文件件,将文件移动到对应的文件夹中

    在IT管理中,高效地组织和管理文件是至关重要的,特别是在处理...总之,这个任务体现了批处理脚本在文件管理中的强大功能,通过编写和执行这样的脚本,我们可以有效地整理大量的文件,提高工作和生活中的文件管理效率。

Global site tag (gtag.js) - Google Analytics