bat-任意截断替换字符

来源:互联网 发布:可视化软件什么意思 编辑:程序博客网 时间:2024/05/14 06:52

FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]

optinos
eol=c           - 指一个行注释字符的结尾(就一个)//要忽略以什么字符开头的行
skip=n          - 指在文件开始时忽略的行数。
delims=xxx      - 指分隔符集。这个替换了空格和跳格键的//指定分割的字符列入delims=;:.使用了";",":","."做分隔
                  默认分隔符集。
tokens=x,y,m-n  - 指每行的哪一个符号被传递到每个迭代
                  的 for 本身。这会导致额外变量名称的分配。m-n
                  格式为一个范围。通过 nth 符号指定 mth。如果
                  符号字符串中的最后一个字符星号,
                  那么额外的变量将在最后一个符号解析之后
                  分配并接受行的保留文本。
usebackq        - 指定新语法已在下类情况中使用:
                  在作为命令执行一个后引号的字符串并且一个单
                  引号字符为文字字符串命令并允许在 filenameset
                  中使用双引号扩起文件名称。
列子
for /f "tokens=1-3 delims=:." %1 in ("%time%") do @echo %1-%2-%3
截断%time%返回的字符并替换
for /f "tokens=2 delims= " %1 in ("%date%") do @echo %1
截断%date%返回的字符

用%date%+%time%
建立目录
指定的格式
2004-10-12@12-11
分别是年-月-日@小时-分
for /f "tokens=2 delims= " %1 in ("%date%") do @set D=%1
for /f "tokens=1-3 delims=:." %1 in ("%time%") do @set T=%1-%2
mkdir "%D%@%T%"
完整的bat
-----------------------------------------
@echo off
setlocal
for /f "tokens=2 delims= " %%1 in ("%date%") do @set D=%%1
for /f "tokens=1-3 delims=:." %%1 in ("%time%") do @set T=%%1-%%2
mkdir "%D%@%T%"
endlocal
----------------------------------------

原创粉丝点击