[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 qixiaobin0715 于 2022-1-7 11:03 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%i in ("%~dp0.") do (
  4.     set Folder1=%%~nxi
  5.     echo,!Folder1!
  6.     for /f "tokens=1-2* delims=- " %%a in ("!Folder1!") do (
  7.         set xh=%%a
  8.         set gq=%%b
  9.         set gs=%%c
  10.         echo,!xh!
  11.         echo,!gq!
  12.         echo,!gs!
  13.     )
  14. )
  15. for %%k in ("%~dp0..") do (
  16.     set Folder2=%%~nxk
  17.     echo,!Folder2!
  18. )
  19. pause
复制代码
1

评分人数

TOP

set _:显示所有变量名以_开头的变量。

TOP

回复 7# 5i365
按2楼的方法即可,已修改。

TOP

回复 10# 5i365
使用for /f 单独赋值方便些。最后循环变量笔误,已修改。

TOP

谢谢。学习学习powershell

TOP

回复 15# 5i365
代码已修改。

TOP

循环变量增强中,都会变量值中把最后一个点号默认为是扩展名的分界。%%~ni意思是只匹配文件名,会把最后一个点号以及后面的字符当成扩展名而忽略掉。

TOP

像这些就是循环变量的增强用法:
%~I
%~nI
%~nxI
%~dpI
....

TOP

返回列表