无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 7171|回复: 18
打印 上一主题 下一主题

如何用DOS命令查找出指定文件所在的盘符,并支持长文件名

[复制链接]
跳转到指定楼层
1#
发表于 2011-7-1 16:59:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用MSDOS的映像文件启动后,若有一文件如\dirxxx\filename,不知其在哪一个盘符,现想在批处理命令中先找出其盘符,如为x:,再在批处理中对x:\dirxxx\filename进行复制、改名或删除等操作。

且想支持长文件名,如何进行,诚请各位网友指教。



[ 本帖最后由 qj_tzy 于 2011-7-1 20:04 编辑 ]
2#
发表于 2011-7-1 18:57:20 | 只看该作者
msdos 不能识别 ntfs 分区的。就算 加 ntfs 驱动,盘符顺序 也可能与 win 下不一致。

不知道 你要这个功能做什么?

我的 dos工具箱 ,可以搜索 出整个硬盘 各分区的 gho ,不知道你是不是要者功能。
回复

使用道具 举报

3#
发表于 2011-7-1 19:30:39 | 只看该作者
@echo off
for %%b 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 if exist %%b:\123\123.txt set drv=%%b:
echo 盘符为 %drv%
copy %drv%\123\123.txt c:\
pause
回复

使用道具 举报

4#
 楼主| 发表于 2011-7-1 19:35:09 | 只看该作者

回复 #2 dos时代菜鸟 的帖子

谢谢,这点我知道。

我就是想通过启动一个MSDOS镜像文件,来自动完成对某一特定目录下的特定文件(不知在哪一个盘符,为NTFS分区)的复制、改名或删除操作的功能。
回复

使用道具 举报

5#
 楼主| 发表于 2011-7-1 19:38:48 | 只看该作者

回复 #3 lindafu 的帖子

这正是我需要的,非常感谢您的指点!

如何支持长文件名,还请各位指点。

[ 本帖最后由 qj_tzy 于 2011-7-1 20:05 编辑 ]
回复

使用道具 举报

6#
发表于 2011-7-1 21:58:06 | 只看该作者

回复 #5 qj_tzy 的帖子

长文件名支持,是要加载长文件名驱动的,如下附件就是你要的,在DOS下运行doslfn就可以了

LFN.rar (26.03 KB, 下载次数: 136)
回复

使用道具 举报

7#
发表于 2011-7-2 07:07:44 | 只看该作者
原帖由 lindafu 于 2011-7-1 21:58 发表
长文件名支持,是要加载长文件名驱动的,如下附件就是你要的,在DOS下运行doslfn就可以了

125212

dos下搜索的难点:在于ntfs分区的中文目录下的文件!
回复

使用道具 举报

8#
发表于 2011-7-2 10:56:47 | 只看该作者

回复 #7 2010yg 的帖子

本人回答的都是LZ问的问题,好象回答中无提过“搜索”两个字,再说你说的“dos下搜索的难点”那是你自己的难点,并不代表他人也是个难点,你还是深入研究研究一下DOS吧
回复

使用道具 举报

9#
发表于 2011-7-2 11:17:02 | 只看该作者
原帖由 lindafu 于 2011-7-2 10:56 发表
本人回答的都是LZ问的问题,好象回答中无提过“搜索”两个字,再说你说的“dos下搜索的难点”那是你自己的难点,并不代表他人也是个难点,你还是深入研究研究一下DOS吧

向版主学习了!......................
回复

使用道具 举报

10#
 楼主| 发表于 2011-7-2 12:29:06 | 只看该作者

回复 #6 lindafu 的帖子

已下载,我试试,谢谢

不清楚的,再向您请教。
回复

使用道具 举报

11#
 楼主| 发表于 2011-7-2 16:45:31 | 只看该作者

回复 #6 lindafu 的帖子

我将下载的两个文件加入映像文件中后,在autoexec.bat中用doslfn加了多个参数均未试成功。

我想实现:
for %%b 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 if exist %%b:\123xxxxxxx\123yyyyyyyyy.txt set drv=%%b:
copy %drv%\123xxxxxxx\123yyyyyyyyy.txt %drv%\123xxxxxxx\456yyyyyyyyy.txt

如何在autoexec.bat中加doslfn的参数,以实现以上功能。
回复

使用道具 举报

12#
发表于 2011-7-2 18:14:01 | 只看该作者

回复 #11 qj_tzy 的帖子

直接加载doslfn就可以了,如下图

回复

使用道具 举报

13#
 楼主| 发表于 2011-7-3 12:51:57 | 只看该作者

回复 #12 lindafu 的帖子

谢谢,我再试试。
回复

使用道具 举报

14#
 楼主| 发表于 2011-7-3 17:19:31 | 只看该作者

回复 #12 lindafu 的帖子

您在#12楼贴出的结果,是否在NTFS分区试验的。

我需要操作的长文件名是在NTFS分区,我按一网友的提示,在autoexec.bat中是如此加载的
ntfs4dos command /P /F /E:2000 /k autoexec.bat
doslfn >nul

但未能对NTFS分区的长文件名进行操作,还望请多指点指点。
回复

使用道具 举报

15#
发表于 2011-7-3 19:42:35 | 只看该作者

回复 #14 qj_tzy 的帖子

doslfn对FAT32分区有效,NTFS驱动(如:ndos -lfn -mountall -cp:936)本身就支持长文件名,但它们好象相互又不通用,这些你自己试了
回复

使用道具 举报

16#
发表于 2011-7-3 21:19:46 | 只看该作者
原帖由 qj_tzy 于 2011-7-3 17:19 发表
您在#12楼贴出的结果,是否在NTFS分区试验的。

我需要操作的长文件名是在NTFS分区,我按一网友的提示,在autoexec.bat中是如此加载的
ntfs4dos command /P /F /E:2000 /k autoexec.bat
doslfn >nul

但未 ...

我建议你使用的NTFSPRO版本进行搜索,它搜索功能强!
我搜索出在ntfs分区里的长文件截图:

仅供参考!

[ 本帖最后由 2010yg 于 2011-7-3 21:46 编辑 ]
回复

使用道具 举报

17#
 楼主| 发表于 2011-7-3 22:08:09 | 只看该作者

回复 #lindafu (深山老林) 、#16 2010yg 的帖子

感谢两位的热心指点
我再试试
回复

使用道具 举报

18#
发表于 2011-7-4 06:57:01 | 只看该作者
假如,你所指定的文件存在于多个分区之中!
用这条命令搜索(对不起,我习惯把查找说成搜索)只能显示最后找到的那个盘符噢!


[ 本帖最后由 2010yg 于 2011-7-4 07:00 编辑 ]
回复

使用道具 举报

19#
发表于 2011-8-1 01:08:23 | 只看该作者

回复 #15 lindafu 的帖子

不知道版主有DOS或者GRUB下 解压长文件名的方法吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-1 07:14

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表