![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-23 16:48 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,274 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [原创]sturts和jsf框架国际化的中文资源转换 |
| 可打印版本 1,198 / 2 |
| 第1楼 wentimao | 发表于 2006-06-07 20:07 |
| 初级用户 发帖 27 积分 110 | |
|
[原创]sturts和jsf框架国际化的中文资源转换 这几天在论坛发帖询问,根据大家的帮助制作的批处理,主要用于sturts和jsf框架国际化的中文资源文件转换,大家看看,还有什么地方需要改正优化的?大家也不要在我以前发的帖子解答了
willsort 看看这句 if exist "%~f1\" goto error if not exist "%~f1" goto error 本来这个是防止输入的参数是文件夹的情况,但这个就像我说的,如果在当前文件夹里有一个aa的文件,又有一个aa的文件夹,我的这两句是不是就失败了? 你提出了一个方法就是 for /f "usebackq" in ("%~f1") do ...)2>nul 这种方法是什么意思呢?不管它是文件还是目录都去操作,弄错了就屏蔽?是这个意思吗?不太明白,希望能解释一下 与本主题相关的讨论如下: 如何获得文件的完整路径? http://www.cn-dos.net/forum/viewthread.php?tid=20996 如何判断参数是文件还是目录 http://www.cn-dos.net/forum/viewthread.php?tid=20999 如何把环境变量path中的路径逐个读出来? http://www.cn-dos.net/forum/viewthread.php?tid=21008 如何全盘查找某文件并把它的路径加到环境变量中 http://www.cn-dos.net/forum/viewthread.php?tid=21013 如何在批处理用命令行来改变%1的值? http://www.cn-dos.net/forum/viewthread.php?tid=21014 如何在dir未找到时文件时不显示错误提示 http://www.cn-dos.net/forum/viewthread.php?tid=21021 [ Last edited by willsort on 2006-6-14 at 17:45 ] |
|
| 第2楼 willsort | 发表于 2006-06-14 18:21 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re wentimao:
非常抱歉!将兄的这篇原创主题忽略了如此之久!现已将主题稍作整理,修改标题,红色下划线高亮,奖励16积分。 关于同名文件和文件夹的存在性判断,我仍持上文相关回复中 [2] 的观点,不要去理会它,除非真有理会它的必要。 关于我后来提出的 for/f 方案大抵如兄所说:for /f "usebackq"要求("")内必须是文件名,否则将无法读取其文本内容,从而显示错误信息,而后的)2>nul 可以将错误信息屏蔽。 关于这个方案存在一些缺陷,已知的是,若将文件存在后的操作放在 do 后,将可能因为文件存在多行文本而被执行多次。改进后的方案如下: for /f "usebackq" %%f in ("%~f1") do set) >nul 2>nul || echo 不存在文件 %~f1 Re Others: 感到比较奇怪的是,无论是否存在 %~f1 , for /f 都不修改 %errorlevel% ,但是其后的 && 或者 || 则仍然是正常有效的,这是否意味着,&& 和 || 的条件并非依赖于 %errorlevel%? |
|
| 第3楼 wentimao | 发表于 2006-06-15 07:54 |
| 初级用户 发帖 27 积分 110 | |
|
我把查找那段代码按一位仁兄的方法修改,这样不用创建临时文件,觉得方便不少
set x="sbl" for %%i in (native2ascii.exe) do if exist %%~$PATH:i set x=%%~$PATH:i if not %x% == "sbl" goto :pass echo. echo path路径中不包括native2ascii.exe文件的路径,本程序现在自动在所有的驱动器 echo 寻找native2ascii所在目录,此过程可能需要一段时间,请稍候.... echo. echo. echo 搜索中...... echo. echo. for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( (for /f "delims=" %%p in ('dir /a /b /s %%i:\native2ascii.exe') do ( echo 找到%%p set path=%path%;%%~dpp&&goto :pass )) 2>nul ) echo. echo 你的电脑不存在native2ascii.exe文件,无法完成转换。 echo. goto :end |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |