`

文件路径处理

 
阅读更多
一
1.1 获取路径加不带后缀的文件名
@echo off
set str1=C:\abc\file1.abc
call :show %str1%
echo %str2%

pause
goto :eof

:show
set str2=%~dpn1 

1.2 获取路径
@echo off
set str1=C:\abc\file1.abc
call :show %str1%
echo %str2%

pause
goto :eof

:show
set str2=%~dp1 

简要说明:对于变量%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这样形式的文件对你来说不是问题,我就不写了


二、
2.1输出相对路径
@echo off
::for /r /d %%d in (*.*) do if exist "%%d/*.*" echo %%d >>content.txt
for /f %%i in ('"dir /a /s /b *.*"') do call :next "%%i"
pause
goto :eof

:next
set jpg=%1
set cd1=%cd:/=/%
set jpg=%jpg:/=/%
rem echo %%jpg:%cd1%=%% | findstr .
for /f %%j in ('"echo %%jpg:%cd1%=%% | findstr . "') do set last=%%j
set last=%last:"=%
call :checkFD %last%
echo %last% >> content.txt
goto :eof


:checkFD
if exist "%~f1/" echo %1>>directory.txt
if exist "%~f1" if not exist "%~f1/" echo %1>>file.txt
goto :EOF

2.2压缩JS文件
@echo off
set "CURRENT_DIR=%cd%"
::for /r /d %%d in (*.*) do if exist "%%d/*.*" echo %%d >>content.txt
for /f %%i in ('"dir /a /s /b *.js"') do call :next "%%i"
pause
goto :eof

:next
set jpg=%1
set cd1=%cd:/=/%
rem echo cd1:%cd1%
set jpg=%jpg:/=/%
rem echo jpg:%jpg%
rem echo %%jpg:%cd1%=%% | findstr .
for /f %%j in ('"echo %%jpg:%cd1%=%% | findstr . "') do set last=%%j
rem echo %last%
set last=%last:"=%
call :checkFD %last%
set "from=%last:~1%"
set "to=min\%from%"
call :mkdir %to%
echo todir:%todir%

rem set "dir=%%to:.*%=%%"
rem echo dir:%dir%
echo from:%from% >> content.txt
echo to:%to% >> content.txt
java -jar yuicompressor-2.4.8.jar %from% -o %to% --charset utf-8
goto :eof


:checkFD
if exist "%~f1/" echo %1>>directory.txt
if exist "%~f1" if not exist "%~f1/" echo %1>>file.txt
goto :EOF

:mkdir
set todir=%~dp1 
if not exist %todir% md %todir%



分享到:
评论

相关推荐

    delphi资源-文件路径

    除了`ExtractFilePath`和`ExtractFileDir`外,还有一些其他与文件路径处理相关的函数也非常实用: 1. **`ExpandFileName`**:该函数用于将相对路径扩展为绝对路径。例如: - `ExpandFileName('..\test.txt')`如果...

    关于Java文件路径问题

    在Java编程中,文件路径处理是一项基础且重要的任务。它涉及到读取、写入和操作文件,而正确理解和使用文件路径是确保程序能够正确运行的关键。这篇博客文章“关于Java文件路径问题”可能探讨了Java中处理文件路径的...

    asp.net 获得文件路径信息

    总之,理解并熟练运用这些ASP.NET和C#中的文件路径处理技术,将有助于你在实际项目中有效地管理和操作文件。通过下载提供的Example085-获得文件路径信息资源,你将能更深入地学习和实践这些概念。

    将某表示文件路径的字符串的文件名分离出文件路径

    #### 5.2 Java NIO 与文件路径处理 Java NIO (New I/O) 包含了处理文件路径的更现代的方式。例如,`java.nio.file.Path` 和 `java.nio.file.Paths` 类提供了更简洁和强大的API来处理文件路径。使用这些API可以更...

    JAVA中如何得到文件路径.pdf

    #### 三、Web服务中的文件路径处理 在Web环境中,文件路径的获取方式会有所不同,主要取决于使用的Web容器。 1. **Weblogic**: - **绝对路径**:如果文件位于Weblogic的安装目录下(如`c:\yourconfig\yourconf....

    java文件路径操作详细(转载)

    本篇将详细探讨Java中的文件路径处理技术,主要涵盖以下知识点: 1. **File类**: Java中的`java.io.File`类是用于表示文件和目录路径名的抽象表示。它提供了许多操作,如创建、删除、重命名文件和目录,以及获取...

    获取剪切板复制文件路径并写入数据

    2. **文件路径处理**:解析、验证和操作剪贴板中复制的文件路径,可能包括路径的合并、分割、检查有效性等。 3. **事件监听**:实现剪贴板内容变化时的监听机制,可能需要循环检查或者注册回调函数。 4. **数据存储*...

    如何解析文件全路径信息编程实例集合

    2. **C++中的文件路径处理**:在C++中,可以使用`<filesystem>`库(自C++17起)来处理文件路径。例如,`std::filesystem::path`类提供了许多方法,如`parent_path()`、`filename()`和`extension()`,用于提取路径的...

    java 文件路径小工具

    java 文件路径小工具 谁用谁知道 管理windows下的目录文件

    文件超长路径处理工具

    Windows操作系统对于文件路径长度有一定的限制。在Windows NT 6.0(Vista)及之后的版本中,这个限制是单个路径组件(文件名或文件夹名)不能超过255个字符,而整个路径长度不能超过32,767个字符。这个限制源于旧版...

    利用Pandas读取文件路径或文件名称包含中文的csv文件方法

    原因在于Python默认的文件路径处理方式可能不支持包含中文字符的路径。这种情况下,我们可以借助Python的内置函数open来先打开文件,再通过Pandas的read_csv函数进行数据读取。 具体操作步骤如下: 1. 首先,需要...

    file_edit_ctrl.rar_EDIT CTRL _文件路径

    总结来说,"EDIT CTRL"是一个专注于文件路径处理的工具,它可以用于获取单个文件和整个文件夹的路径,这对于需要频繁处理文件路径的开发者或系统管理员来说非常方便。这个工具可能还提供了其他高级功能,如文件操作...

    filesystem-master_文件路径属性_

    `filesystem-master`这个项目显然是专注于文件路径处理的C++实现,特别是针对C++11标准。文件路径是操作系统中定位文件的关键元素,理解其属性和操作对于任何开发者都至关重要。 首先,我们要了解文件路径的基本...

    vb 实现文件拖拽显示文件路径

    在VB(Visual Basic)编程环境中,实现文件拖拽并显示文件路径是一项常见的功能,尤其在设计用户界面时,能够提高用户的交互体验。本教程将详细解释如何通过VB来实现这一功能。 首先,我们需要理解VB中的DragDrop...

    读取文件夹下的所有文件路径并写入EXCEL

    2. 文件路径处理: - 获取文件路径:在遍历过程中,`os.walk()`返回一个三元组,包含当前目录、子目录列表以及当前目录下文件名列表。你可以通过这些信息构建完整的文件路径。 3. Excel操作: - 创建Excel文件:...

    文件的Handle获取文件路径

    标题中的“文件的Handle获取文件路径”是指在操作系统层面,通过一个已经打开的文件句柄(Handle)来获取该文件的实际存储路径。这通常在编程中用于需要知道某个已打开文件的具体位置,但只有其句柄的情况下实现。...

    pathdialog_hollowz2g_文件路径类_

    学习和理解`PathDialog`类及其使用方法,不仅可以帮助初学者掌握文件路径处理的基本技巧,也有助于提升他们对Windows GUI程序设计的理解。通过分析源码,可以深入学习C++面向对象编程,以及如何与Windows API进行...

    易语言源码易语言右键菜单取文件路径源码.rar

    易语言是一种专为中国人设计的编程...此外,对于想要深入了解Windows编程和文件路径处理的程序员,这也是一份有价值的参考资料。通过研究和修改这段源码,开发者可以进一步定制自己的右键菜单,添加更多实用的功能。

    struts2文件下载/绝对路径+相对路径

    3. **文件路径处理**:文件路径分为绝对路径和相对路径。绝对路径是从根目录开始的完整路径,而相对路径是相对于当前工作目录的路径。在处理文件下载时,开发者需要确保提供的是正确的文件路径。对于绝对路径,它...

Global site tag (gtag.js) - Google Analytics