中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 老病新药:非中文环境下进入中文目录
« [1] [2] [3] »
作者:
标题: 老病新药:非中文环境下进入中文目录 上一主题 | 下一主题
luxuriant1770
新手上路





积分 4
发帖 3
注册 2005-9-16
来自 能容納我的地方
状态 离线
『第 16 楼』:  

難題啊,我一直沒找到答案.............



朙忝亓雙髹钌!
2005-9-16 20:20
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (262653757)  编辑帖子  回复  引用回复
brglng
银牌会员

永遠的DOS~~~



积分 1200
发帖 466
注册 2005-2-1
来自 上海
状态 离线
『第 17 楼』:  

如果可以用外部工具的话用一个mousclip就解决问题了



32位才是DOS未来的希望
个人网志:http://sololand.moe
2005-9-16 23:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xjmxjm1234
中级用户

论坛第一菜鸟


积分 361
发帖 166
注册 2006-4-15
状态 离线
『第 18 楼』:  

原来是围绕着 dir 命令来的啊
问题6:
  d:
  cd \
  copy con enter.bat
  cd (键入Ctrl+Z或者键入“F6”键,不含括号)
  dir ????2 /ad /b>>enter.bat
  enter

[ Last edited by xjmxjm1234 on 2006-4-19 at 08:10 ]



Diskette  Operating  System
2006-4-18 21:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xjmxjm1234
中级用户

论坛第一菜鸟


积分 361
发帖 166
注册 2006-4-15
状态 离线
『第 19 楼』:  

至于问题4和5:
用了 dir/s/b test.dat  但总是带test.dat
用了 truename  但总是在根目录
好难,公布答案吧!



Diskette  Operating  System
2006-4-18 22:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xjmxjm1234
中级用户

论坛第一菜鸟


积分 361
发帖 166
注册 2006-4-15
状态 离线
『第 20 楼』:  

资料:所有内部命令

  Quote:

Internal (内部命令): ( 注:这些是msdos7.X中支持的内部命令)
Break  设置对键盘中断某程序执行的命令的检查。即对ctrl -C 的检查。
Call   呼叫另一个批处理,或可执行文件,或command
CD / ChDir  进入目录(退出目录)
CHCP  修改或显示当前的代码页
Cls  清屏
Copy  复制,拷贝
CTTY  将控制台输入和输出改向其它设备
Date   显示或设置系统日期
Del / Erase  删除文件
Dir  列出文件和目录列表
Echo 显示控制开关。
Exit  退出command环境。(该command环境是在DOS提示符中执行另一个新的command的拷贝而创建的,也叫dos SHELL?)
For  用于运行一指定命令或一系列的命令. 通常用在批处理文件中,但也能用于命令提示符后。
GoTo 转向语句
If  条件语句
LfnFor  当运行FOR命令时支持长文件名。
Lock  锁定对磁盘的直接读取。
MD / MkDir  创建目录
Path  路径
Pause  暂停
Prompt  设置提示符格式
RD / RmDir  删除目录
Rem & ::   注释
Ren / Rename  改名,重命名
Set   设置
Shift  位移,在批处理文件中用作改变可替换参数的位置。
Time  显示和设置时间
Truename 显示长文件名格式和8.3格式之间的对应关系,或subst命令创建的虚拟盘
Type  在屏幕上显示文本文件的内容
Unlock 解锁对磁盘的直接读取
Ver  显示msdos的版本号
Verify  校验。以保证写入磁盘的内容可读。
Vol 显示磁盘的卷标和序列号。





Diskette  Operating  System
2006-4-18 22:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 21 楼』:  

Re xjmxjm1234:

      兄对第6题存在误解,题中目录名数字均为全角,在非中文环境下无法输入。

      现公布第4题我的解答,主要利用了命令行的交互特性,需要用户控制。如果在批处理中,且不使用外部命令,则需要使用复杂的技巧来实现判断选择,还没有考虑得很完善。

  Quote:
d:
cd \
dir /ad /on /p /s /w
(用户交互:观察命令输出中test.dat位于哪个目录中)
copy con enter.bat
cd (键入Ctrl+Z或者键入“F6”键,不含括号)
(如果test.dat在第一个目录,则 dir /ad /b /on>>enter.bat)
(如果test.dat在第二个目录,则 dir /ad /b /o-n>>enter.bat)
enter

[ Last edited by willsort on 2006-4-19 at 17:56 ]



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-4-18 23:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhangxue
初级用户





积分 183
发帖 82
注册 2006-3-28
状态 离线
『第 22 楼』:  

有点不明白为何在根目录就可以,在第二层目录就失败。

2006-4-19 09:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 23 楼』:  

Re zhangxue:

      请注意解答中的第二行"cd \",它是将当前目录切换为题目中的测试目录——根目录,如果你的测试目录在子目录下,则需要用 cd subdir 之类的语句进行切换。



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-4-19 14:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhangxue
初级用户





积分 183
发帖 82
注册 2006-3-28
状态 离线
『第 24 楼』:  

我并没有cd\,图1,2是在根目录测试,有两个目录:(1)System Volume Information;(2)新建文件夹。测试成功。

图三是在test目录进行测试,里面只有一个目录:新建文件夹。测试失败。

[ Last edited by zhangxue on 2006-4-19 at 14:45 ]

附件 1: Snap1.jpg (2006-4-19 14:41, 28.91 K, 下载附件所需积分 1 点 ,下载次数: 1)


附件 2: Snap2.jpg (2006-4-19 14:41, 16.62 K, 下载附件所需积分 1 点 ,下载次数: 1)


附件 3: Snap3.jpg (2006-4-19 14:52, 28.5 K, 下载附件所需积分 1 点 ,下载次数: 1)


2006-4-19 14:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhangxue
初级用户





积分 183
发帖 82
注册 2006-3-28
状态 离线
『第 25 楼』:  

简单的说就是在根目录下,可以用cd ?????进入名为“新建文件夹”的目录。
但是却不能在test目录中用cd ?????来进入名为"新建文件夹"的目录。

2006-4-19 14:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 26 楼』:  

Re zhangxue:

      已经证实,以上的我的一系列解答,在NT CMD环境下无效,感谢 zhangxue 兄的提醒。

      其原因是因为,NTCMD将无法识别其编码的字符串均转换成为了由问号组成的字符串,这导致字符串的内码发生变化,当然就无从进入相应的目录了。

      在根目录下的测试成功,是因为NTCMD在根目录下使用类似cd ?????的命令形式时,会将?????作为通配符进行匹配,由此导致cd ?????会进入第一个匹配的目录中,即第一个含有5个或5个以内字符的子目录。而在其他各级子目录下NTCMD无此特性。

      另外,建议zhangxue兄在转贴命令行输出内容时,仅复制和粘贴输出的文字信息,以节省论坛有限的附件空间资源。复制方法,在命令行窗口中,点击右键,选择“标记”,然后拖动鼠标选择复制区域,选定后按回车即复制完成,然后再粘贴到论坛帖中即可。

[ Last edited by willsort on 2006-4-19 at 15:05 ]



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-4-19 15:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xjmxjm1234
中级用户

论坛第一菜鸟


积分 361
发帖 166
注册 2006-4-15
状态 离线
『第 27 楼』:  

真的很难啊,是不是要用 shift 命令啊,我不大会哦
在 cmd.exe 里 ? 表示一个字符(一个汉字)
而在 dos 里 ? 表示一个字节哦(半个汉字) 不一样的



Diskette  Operating  System
2006-4-19 17:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zereyzerey
初级用户





积分 43
发帖 20
注册 2006-4-24
来自 gd
状态 离线
『第 28 楼』:  只要有edit.com就可以

我以前常遇到这样的问题,如果你要进C盘某一中文目录。你就先要进其他盘。只要不是C盘就可以了。然后运行edit然后在[open]菜单下打开你要进的中文目录。虽然是乱码,但是不是可以进。见到你想要的文件后(例如ghost.exe)。再按[Esc]键退出,再退出edit.com,在提示符下再打 c:[回车],你就会发现进了刚才用edit.com浏览的中文目录了。虽然有点复杂,但是可行性是100%。你们可以试试。

2006-4-25 20:16
查看资料  发送邮件  发短消息 网志  OICQ (214311581)  编辑帖子  回复  引用回复
kcdsw
中级用户





积分 404
发帖 179
注册 2006-3-30
状态 离线
『第 29 楼』:  

chcp ??

活动的代码页?

2006-4-27 19:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xjmxjm1234
中级用户

论坛第一菜鸟


积分 361
发帖 166
注册 2006-4-15
状态 离线
『第 30 楼』:  

可是只用内部命令就很难了.



Diskette  Operating  System
2006-4-28 22:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: