找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19793|回复: 6

[文件操作] 批处理怎样取得 for 命令头、尾的值?谢谢!

[复制链接]
发表于 2023-4-3 15:55:41 | 显示全部楼层 |阅读模式

For %%I in (1 2 3 4 5) do @echo %%I
执行结果为:
1
2
3
4
5

怎样取得头、尾的值?
x=1
y=5

谢谢!
发表于 2023-4-3 16:03:28 | 显示全部楼层
  1. setlocal enabledelayedexpansion
  2. for %%i in (1 2 3 4 5) do (
  3.     set /a n+=1
  4.     if !n! equ 1 (
  5.         set x=%%i
  6.     ) else (
  7.         set y=%%i
  8.     )
  9. )
  10. echo,%x%
  11. echo,%y%
复制代码

评分

参与人数 1技术 +1 收起 理由
Shuye + 1 好办法!

查看全部评分

 楼主| 发表于 2023-4-3 16:08:42 | 显示全部楼层
回复 2# qixiaobin0715

好办法,谢谢 qixiaobin0715 兄!
发表于 2023-4-3 17:00:17 | 显示全部楼层
实际上不使用变量延迟也可:
  1. set n=0
  2. for %%i in (1 2 3 4 5) do (
  3.     if defined n (
  4.         set x=%%i
  5.         set n=
  6.     ) else (
  7.         set y=%%i
  8.     )
  9. )
  10. echo,%x%
  11. echo,%y%
复制代码

评分

参与人数 1技术 +1 收起 理由
Shuye + 1 测试成功!

查看全部评分

发表于 2023-4-3 17:21:22 | 显示全部楼层
这里变量N可以不用
for %%i in (1 2 3 4 5) do (
     if not defined x (
        set x=%%i
    ) else set y=%%i

)
echo,%x%
echo,%y%

评分

参与人数 2技术 +2 收起 理由
qixiaobin0715 + 1 利用第1个变量判断,巧妙!!!
Shuye + 1 测试成功!

查看全部评分

 楼主| 发表于 2023-4-3 17:43:16 | 显示全部楼层
回复 4# qixiaobin0715

测试成功,谢谢 qixiaobin0715 兄!
 楼主| 发表于 2023-4-3 17:43:47 | 显示全部楼层
回复 5# terse

测试成功,谢谢 terse 兄!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 00:02 , Processed in 0.019214 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表