楼 主
如何把 for 循环的%%i 赋值给另外一个变量输出
发表于 2006-11-22 02:52 · 美国
新手上路
★
积分 10 发帖 4 注册 2006-11-22 02:23 19年会员 UID 71311 性别 男
状态 离线
echo off
for /r %%c in (*.txt) do (
echo %%c
set aa=%%c
echo %aa%
)
但是这个时候 echo %aa% 输出的是最后一个循环的值 无法改变 该怎么改?
第 2 楼
发表于 2006-11-22 03:05 · 中国 江苏 苏州 联通
银牌会员
★★★
积分 1,181 发帖 533 注册 2006-08-14 12:54 19年会员 UID 60484
状态 离线
第 3 楼
发表于 2006-11-22 03:07 · 中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310 发帖 2,044 注册 2005-09-26 12:00 20年会员 UID 42843 性别 男 来自 四川南充
状态 离线
看下下面的是你需要的吗
@echo off
for /r %%c in (*.txt) do (
echo %%c
set aa=%%c
call echo %%aa%%
)
第 4 楼
发表于 2006-11-22 03:23 · 美国
新手上路
★
积分 10 发帖 4 注册 2006-11-22 02:23 19年会员 UID 71311 性别 男
状态 离线
我现在做的是这么一个需求
从 cvs 上拿下最新版本的 .java 文件到本机 然后在本机上w:盘查找与之对应的.class文件 再把这些class文件打包成tar文件 再上传到ftp
问题在 如何检测 java 文件 并 查找对应的 .class文件
假设 java 文件在 d:/java目录下 对应的class文件 在w:/class 并将查找到的对应class文件 复制到d:\class目录下
跪求 跪谢
第 5 楼
发表于 2006-11-22 04:44 · 中国 北京 朝阳区 联通
高级用户
★★
朦胧的世界
积分 579 发帖 218 注册 2006-10-24 04:29 19年会员 UID 67972
状态 离线
下面的代码需要输入绝对路径!
@echo off
set /p java=输入java文件所在目录:
set /p Sclass=输入class文件源目录:
set /p Dclass=输入class文件目的目录:
for /r %java% %%i in (*.java) do if exist %Sclass%.\%%~ni.class copy %Sclass%.\%%~ni.class %Dclass%
pause >nul
嫌麻烦的话就用固定的就可以了!
@echo off
for /r d:\java %%i in (*.java) do if exist w:\class\%%~ni.class copy w:\class\%%~ni.class d:\class
pause >nul
本帖最近评分记录
(共 1 条)
点击查看详情
评分人 分数 时间
redtek
+1
2006-11-24 11:34
认识自己,降伏自己,改变自己 ,才能改变别人!
第 6 楼
发表于 2006-11-22 05:52 · 美国
新手上路
★
积分 10 发帖 4 注册 2006-11-22 02:23 19年会员 UID 71311 性别 男
状态 离线
Originally posted by tao0610 at 2006-11-21 03:44 PM:
下面的代码需要输入绝对路径!
@echo off
set /p java=输入java文件所在目录:
set /p Sclass=输入class文件源目录:
set /p Dclass=输入class文件目的目录@...
感谢兄弟了 但是如果java文件是在几层文件夹下面的呢?
第 7 楼
发表于 2006-11-22 06:01 · 中国 北京 朝阳区 联通
高级用户
★★
朦胧的世界
积分 579 发帖 218 注册 2006-10-24 04:29 19年会员 UID 67972
状态 离线
for /r 已经包含子目录!
认识自己,降伏自己,改变自己 ,才能改变别人!
第 8 楼
发表于 2006-11-22 06:34 · 美国
新手上路
★
积分 10 发帖 4 注册 2006-11-22 02:23 19年会员 UID 71311 性别 男
状态 离线
Originally posted by tao0610 at 2006-11-21 05:01 PM:
for /r 已经包含子目录!
for /r 已经包含子目录 确实包括子目录
但是在判断 if exist c:\class\%%~ni.class 的时候 只判断了 c:\class\这层下存不存在class文件 而不能判断更多层的
第 9 楼
发表于 2006-11-22 08:04 · 中国 北京 朝阳区 联通
高级用户
★★
朦胧的世界
积分 579 发帖 218 注册 2006-10-24 04:29 19年会员 UID 67972
状态 离线
for /r %java% %%i in (*.java) do (
for /r %Sclass% %%a in (*.class) do if exist %%~dpa.\%%~ni.class copy %%~dpa.\%%~ni.class %Dclass%
)
认识自己,降伏自己,改变自己 ,才能改变别人!
第 10 楼
发表于 2006-11-22 11:44 · 中国 广东 电信
初级用户
★
积分 52 发帖 24 注册 2006-11-16 06:50 19年会员 UID 70653 性别 男
状态 离线
Originally posted by 19840823llw at 2006-11-21 01:52 PM:
echo off
for /r %%c in (*.txt) do (
echo %%c
set aa=%%c
echo %aa%
)
但是这个时候 echo %aa% 输出的是最后一个循环的值 无法改变 该怎么改?
这几天刚在看环境延迟,可为什么这样写不行呢?测试环境2000PRO
CMD /V
echo off
for /r %%c in (*.txt) do (
echo %%c
set aa=%%c
echo !aa!)
第 11 楼
发表于 2006-11-24 04:41
中级用户
★★
DOS之日
积分 337 发帖 161 注册 2006-11-04 05:27 19年会员 UID 69523 性别 男
状态 离线
setlocal ENABLEDELAYEDEXPANSION
echo off
for /r %%c in (*.txt) do (
echo %%c
set aa=%%c
echo !aa!)
这样就可以用了.
本帖最近评分记录
(共 1 条)
点击查看详情
评分人 分数 时间
redtek
+1
2006-11-24 11:35
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正