中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 14:07
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何判断是否设置过默认路径
可打印版本  1,578 / 11
第1楼 bjsh 发表于 2007-03-18 05:03
银牌会员 发帖 621 积分 2,000
如何判断是否设置过默认路径
今天遇到这么一个人提了这么一个无理的要求

他源代码如下

@echo off
title 设置默认路径
:shezhi
set /p shezhi=请输入你的设置路径:
echo %shezhi%>123.txt
cls
echo 设置完毕,默认路径是:
echo %shezhi%
echo 按任意键进入主题
pause>nul
goto zhixing
:zhixing
set /p wo=<123.txt
echo 您想建立什么文件呢,请输入它的文件名
echo 我们将把它保存在你设置的默认目录里。
set /p wenjian=请输入文件名以及后缀(mybat.bat):
echo >%wenjian%
echo 测试完成。
pause>nul


后来他提了个要求就是
1.批处理自动判断是否曾经设置过默认路径
2.这个保存默认路径的123.txt非得保存在默认路径里;

大家给个代码.

本人已写完;打算在五楼公布;
大家先写写试试......

[ Last edited by namejm on 2007-3-20 at 12:52 PM ]
第2楼 RAC 发表于 2007-03-18 05:27
初级用户 发帖 15 积分 35
装B
第3楼 xycoordinate 发表于 2007-03-18 06:38
中级用户 发帖 228 积分 493 来自 安徽
"1.批处理自动判断是否曾经设置过默认路径"
if define ...
???

"2.这个保存默认路径的123.txt非得保存在默认路径里;"
echo %shezhi%>%shezhi%\123.txt
???
第4楼 bjsh 发表于 2007-03-18 07:39
银牌会员 发帖 621 积分 2,000
算了还是把代码贴上来吧

@echo off
for /f "skip=31 tokens=2 delims= " %%a in (%~nx0) do set setting=%%a
set setting >nul 2>%tmp%\t_m_p.txt
find "没有定义" %tmp%\t_m_p.txt >>nul
if not errorlevel 1 goto next
goto choice
:choice
echo 1.使用默认路径 %setting%
echo 2.重新设置默认路径
set /p m_choice=请选择:
if "%m_choice%"=="1" goto setting
if "%m_choice%"=="2" goto next
echo 无效选择 请重新输入;
goto choice
:next
title 设置默认路径yo
set /p setting=请输入你的设置路径,最后请不要加\:
echo :: %setting% >>%~nx0
echo 设置完毕,默认路径是:
echo %setting%
echo 按任意键进入主题
pause>nul
goto setting
:setting
del %tmp%\t_m_p.txt >>nul
echo 您想建立什么文件呢,请输入它的文件名
echo 我们将把它保存在你设置的默认目录里。
set /p file=请输入文件名以及后缀(mybat.bat):
echo >%setting%\%file%
echo 测试完成。
pause>nul
第5楼 electronixtar 发表于 2007-03-18 12:41
铂金会员 发帖 2,672 积分 7,493
Originally posted by RAC at 2007-3-18 05:27:
装B




的确是装B,唉,论坛再也没有 Willsort 时代的深入技术讨论了
第6楼 nzisisco 发表于 2007-03-18 18:09
初级用户 发帖 47 积分 107
写这个批处理有什么意义吗 发上来干什么都不知道
不就是显示你的技术高嘛 大把人比你技术高的
第7楼 bjsh 发表于 2007-03-19 00:47
银牌会员 发帖 621 积分 2,000
我想你们是误会我的意思了;

本来我以为这是个简单的问题;但是真正写下去才知道会遇到问题;

在写这个的过程中也学到不少东西;

在一开始没把自己的代码贴上来;是因为一来怕我的代码影响大家的思维;

二是想让大家先写写;把代码发上来大家交流一下;

但是没想到却被误会为炫耀技术;我感觉特别委屈;

我是刚刚接触p的; 我注册也没多久;

在这里我一直是抱着学习的态度来的;

自己也没什么技术可言更提不上炫耀了;

只是想和大家交流下;

如果我的言语确实容易让大家产生误会;我表示歉意;对不起
第8楼 everest79 发表于 2007-03-19 02:52
金牌会员 发帖 1,127 积分 2,564
第9楼 bjsh 发表于 2007-03-19 03:35
银牌会员 发帖 621 积分 2,000
ls的代码相当简洁了但是不大符合题目的要求

如果换一个窗口的话;又要提醒用户输入默认路径;

题目的要求第二次运行时;已知默认路径而不再询问用户;

可能ls的在同一个cmd窗口下;因为第一次运行设置了环境变量所以第二次运行时似乎同再询问用户;

但是换一个窗口这个环境变量不存在了;所以再次运行还是会询问用户;
第10楼 everest79 发表于 2007-03-19 14:17
金牌会员 发帖 1,127 积分 2,564
第11楼 yzshde007 发表于 2007-04-26 00:06
新手上路 发帖 3 积分 5
Originally posted by electronixtar at 2007-3-17 11:41 PM:




的确是装B,唉,论坛再也没有 Willsort 时代的深入技术讨论了



如果你觉得简单容易请你写个出来!~如果你觉得你能写出来那请你把他精简化~~~不行``别叫``
第12楼 digger 发表于 2007-04-26 11:14
初级用户 发帖 29 积分 79 来自 湖南
Originally posted by yzshde007 at 2007-4-25 11:06 AM:
如果你觉得简单容易请你写个出来!~如果你觉得你能写出来那请你把他精简化~~~不行``别叫``

  不知 electronixtar 为何人者无所谓,不过在这里讨论还是心平气和一点的好。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023