zoukankan      html  css  js  c++  java
  • 批处理系列(14)

    结合本系列文章第一篇,看本文。

    本篇熟悉操作文件路径、时间,温习字符切分。

    路径

    @echo off
    @REM @Author: xianghongai@gmail.com
    :GTCONTINUE
    @echo 正在运行的这个批处理:
    @echo 完全路径[%%0]:%0
    @echo 去掉引号[%%~0]:%~0
    @echo 所在分区[%%~d0]:%~d0
    @echo 所处路径[%%~p0]:%~p0
    @echo 文件名[%%~n0]:%~n0
    @echo 扩展名[%%~x0]:%~x0
    @echo.
    @echo 文件属性:%~a0
    @echo 修改时间:%~t0
    @echo 文件大小:%~z0
    @echo.
    @echo 盘符和路径[%%~dp0]:%~dp0
    @echo 文件名和扩展名[%%~nx0]:%~nx0
    @echo 当前CMD默认目录[%%cd%%]:%cd%
    @echo.
    set "CurrentDirName=%~dp0"
    for /f "delims=" %%i in ("%CurrentDirName:~0,-1%") do (echo 目录名: %%~ni)
    pause >nul
    goto GTCONTINUE
    
    

    时间

    @echo off
    @REM @Author: xianghongai@gmail.com
    set varTimeTemp1=%time: =0%
    set varTimeTemp2=%varTimeTemp1::=%
    set varTime=%varTimeTemp2:~0,6%
    set varDate=%date:~0,4%%date:~5,2%%date:~8,2%%varTime%
    @echo 当前日期时间:%varDate%
    rem %a:~[m[,n]]%
    @echo %varDate:~0,4%年 %varDate:~4,2%月 %varDate:~6,2%日 %varDate:~8,2%时 %varDate:~10,2%分 %varDate:~12%秒
    pause
    
    

    字符切分

    @echo off
    @REM @Author: xianghongai@gmail.com
    
    rem tokens=有时表示提取全部。
    rem tokens=m表示提取第m列。
    rem tokens=m,n表示提取第m列和第n列。
    rem tokens=m-n表示提取第m列至第n列。
    rem tokens=*表示删除每行前面的空格。忽略行首的所有空格。
    rem tokens=m*提取第m列以后的所有字符,星号表示剩余的字符。
    rem tokens=m,*提取第m列以后的所有字符,星号表示剩余的字符。
    rem delims指明点号、减号、空格为分割符,默认是空格和tab为分割符,delims==及delims=表示不要分割符
    
    :GTBegin
    cls
    
    set str="123,456,789,0,abc-def,ghi,jkl-mno,pqr,stu,vwx,yz"
    
    for /f "delims=" %%i in (%str%) do echo 字符:%%i
    @echo.
    
    @echo tokens=1 delims=-
    for /f "tokens=1 delims=-" %%i in (%str%) do echo %%i
    @echo.
    
    @echo tokens=1,6 delims=,-
    for /f "tokens=1,6 delims=,-" %%i in (%str%) do echo %%i %%j
    @echo.
    
    @echo tokens=2-6 delims=,-
    for /f "tokens=3-6 delims=,-" %%i in (%str%) do echo %%i %%j %%k
    @echo.
    
    @echo tokens=6* delims=,-
    for /f "tokens=6* delims=,-" %%i in (%str%) do echo %%i %%j
    @echo.
    
    @echo tokens=6,* delims=,-
    for /f "tokens=6,* delims=,-" %%i in (%str%) do echo %%i %%j
    @echo.
    
    pause>nul
    goto GTBegin
    
    

    转载保留原文地址和作者名,只为错误勘正和信息补充。
    版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)

  • 相关阅读:
    Maven(一)之Maven入门
    由浅入深讲解数据库中Synonym的使用方法
    sql server 中查询数据库下有多少张表以及同义词等信息
    SQLServer中同义词Synonym的用法
    SQL Server在用户自定义函数(UDF)中使用临时表
    java 异常
    java算法之冒泡排序法
    如何用Java实现反转排序
    关于eclipse的注释和反注释的快捷键
    java获取随机数
  • 原文地址:https://www.cnblogs.com/daxiang/p/8572747.html
Copyright © 2011-2022 走看看