中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 4K COPY 小工具,支持長檔名、多來源、目錄拷貝等功能
作者:
标题: 4K COPY 小工具,支持長檔名、多來源、目錄拷貝等功能 上一主题 | 下一主题
silveregg
初级用户





积分 66
发帖 24
注册 2007-3-15
状态 离线
『楼 主』:  4K COPY 小工具,支持長檔名、多來源、目錄拷貝等功能

幾年前寫的小程式,最近要做啟動碟就翻出來玩
看看有沒有朋友可以幫忙測試
原本的目的是寫一個可以和 DOSLFN 合作的 xcopy 工具
但懶的寫太多功能,只實作了最常用的 /s 參數

之前寫完後幾乎沒有測試,所以可能有一些 Bug
使用時(尤其是加了 /M 參數時)要多加小心

參數說明:
CP 來源 [來源 ...] [目的]
  來源可有多個,可用萬用符,最後一個參數指定目的
  若只有一個參數,則視其為來源,目的為目前目錄,同 DOS 的 COPY
  /S          子目錄拷貝
  /M         移動檔案(拷貝成功後刪除來源)
  /J          結合文件
  /D         指定目的為目錄,非文件
  /V         檢驗拷貝結果
  /Y         不詢問,總是回答 Yes
  /N         即使在有長檔名支援的環境下也不使用長檔名

  補充說明:
     1. 若無 /j 或 /d,且無法判斷目的為文件或目錄時,會出現詢問
     2. 長檔名支援需在 Win9x/2K/XP 下或純 DOS 掛載 DOSLFN 或 LFNDOS
     3. 指定目的為目錄時,可自動建立不存在的目錄和子目錄

http://zhenlove.com.cn/cndos/fileup/files/cp.zip

[ Last edited by silveregg on 2007-3-22 at 06:47 PM ]

   此帖被 +10 点积分     点击查看详情   
评分人:【 Wengier 分数: +10  时间:2007-3-22 22:01


2007-3-22 16:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 2 楼』:  

简单的测试了一下,觉得写得十分不错,暂时未发现bug。过两天有空的时候将做更详细的测试。

建议加入一个选项(比如/I):只复制不存在的文件,而自动忽略已存在的文件,相当于“不詢問,總是回答 No”。另外,建议改为在询问是否覆盖文件时直接按下Y、N等键即可,而无需再按回车键。



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2007-3-22 17:43
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
silveregg
初级用户





积分 66
发帖 24
注册 2007-3-15
状态 离线
『第 3 楼』:  

感謝 Wengier 大的測試和建議

目前已知 bug:
在 XP 命令列視窗下無法正確判斷磁碟剩餘空間(拷貝大檔案時會誤判空間不足)
不過這似乎是 XP 本身的問題,目前還沒有想到解決的辦法...
在 DOS 和 Win98 下無此問題

2007-3-23 07:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by silveregg at 2007-3-22 06:51 PM:
感謝 Wengier 大的測試和建議

目前已知 bug:
在 XP 命令列視窗下無法正確判斷磁碟剩餘空間(拷貝大檔案時會誤判空間不足)
不過這似乎是 XP 本身的 ...

嗯,不过一般都会在DOS下使用它了,因为只有DOS下真正需要这个软件。在XP下嘛,通常就会直接用XP自带的支持长文件名的XCOPY了。

顺便说一下,也许将这个软件改名为XCP更好些,一来可以表示它比普通的COPY更加强大,支持更多功能,而且也可以与Unix/Linux/Cygwin中的CP命令相区别,避免发生混淆。



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2007-3-24 19:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
Michael
钻石会员





积分 10046
发帖 3039
注册 2002-11-11
状态 离线
『第 5 楼』:  

是啊,这个软件只要能在dos下表现完美就可以了。支持长文件名简直太好了。



简单就是美
2007-3-24 23:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
silveregg
初级用户





积分 66
发帖 24
注册 2007-3-15
状态 离线
『第 6 楼』:  

測試時發現在 DOS 環境下,還是無法正確處理某些CP950的繁中檔名
已確定是 DOSLFN 的問題,目前正嘗試聯絡作者協助改進
(雖然 DOSLFN 有附源碼,但無奈德文說明實在看不懂,又懶得慢慢研究)

等所有問題都解決了,計劃重新製作 XCP
並且加入以上建議的功能

2007-3-25 05:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by silveregg at 2007-3-24 04:10 PM:
測試時發現在 DOS 環境下,還是無法正確處理某些CP950的繁中檔名
已確定是 DOSLFN 的問題,目前正嘗試聯絡作者協助改進
(雖然 DOSLFN 有附源碼,但無 ...

现在那边有什么进展吗?



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2007-3-31 14:35
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
johnsonlam
银牌会员

阿林


积分 1410
发帖 497
注册 2004-6-28
来自 九龍,香港
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by silveregg at 2007-3-23 07:51 AM:
目前已知 bug:
在 XP 命令列視窗下無法正確判斷磁碟剩餘空間(拷貝大檔案時會誤判空間不足)
不過這似乎是 XP 本身的問題,目前還沒有想到解決的辦法...
在 DOS 和 Win98 下無此問題


在 XP 下 必 需 用 Win32 的 功 能 , 否 則 不 會 準 確 , 但 這 樣 做 在 純 DOS 下 又 不 兼 容 。

解 決 方 法 不 是 沒 有 , 但 前 者 笨 一 點 , 後 者 挺 麻 煩 的 ...

1) 分 開 DOS 版 和 Win32 Console 版 ( 一 如 OneDir 和 OneDir32 )

2) DOS header 有 所 謂 Stub 的 東 西 去 判 斷 是 DOS 或 Win32 ( 從 MSVC 6 就 有 這 功 能 ) , 把 Win32 和 DOS 放 在 一 個 檔 案 內 , 憑 Stub 判 斷 Win32 和 DOS 版 跳 到 相 關 位 置




我 的 網 站 - http://optimizr.dyndns.org
2007-4-1 00:39
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
johnsonlam
银牌会员

阿林


积分 1410
发帖 497
注册 2004-6-28
来自 九龍,香港
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by silveregg at 2007-3-25 05:10 AM:
(雖然 DOSLFN 有附源碼,但無奈德文說明實在看不懂,又懶得慢慢研究)


可 聯 系 Jason Hood , 他 是 澳 洲 人 , 可 用 英 語 。

網 頁 :

http://www.geocities.com/jadoxa/doslfn/index.html

電 郵 :

jadoxa@yahoo.com.au

標 題 必 須 是 DOSLFN




我 的 網 站 - http://optimizr.dyndns.org
2007-4-1 00:43
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
silveregg
初级用户





积分 66
发帖 24
注册 2007-3-15
状态 离线
『第 10 楼』:  

用stub的方法我有想過,可是一來增加檔案大小,二來在win32下此工具顯然不實用,所以就沒有考慮了

其實 stub 並非判斷後跳至相關位置, stub 本身就是完整的 DOS 程式。因為基本上 DOS 和 Win32 的程式是完全不相容的,正常情況下無法共用程式碼。不過這是題外話,不在此討論了

還是感謝 johnsonlam 給的建議

至於聯絡 Jason Hood 先生,我之前有寫信給他並說明問題
得到的回復是:

  Quote:
I shall look into it, but no promises when.

Jason.

也就是說他會注意一下,只是不知道何時能改進問題

2007-4-1 16:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xiagege
新手上路





积分 12
发帖 6
注册 2007-9-7
状态 离线
『第 11 楼』:  ?????????????

看 看!!!!!!!!!

2007-9-24 22:37
查看资料  发送邮件  发短消息 网志  OICQ (397750713)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: