数码之家

 找回密码
 立即注册
搜索
查看: 1424|回复: 20

[软件] DOS下,通配符 “ * ”的用法,突然发现不会用了。

[复制链接]
发表于 2022-6-29 01:11:24 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 happy_2000 于 2022-6-29 01:25 编辑

用某APP下载的长篇小说(几千章,一章一个文件),因为换手机,就复制到电脑里备份 结果几十本小说的近2万个文件 不小心都整一个目录里去了。本想通过 文件前几个字母+后面通配符 把文件移动到单个目录里,结果倒是移动了,可是在批处理里用move命令 移动 前几个相同的和相近的都移动到一个目录里去了。


运行环境 Windows 10 的 DOS 窗口。批处理文件的部分内容:
CD ..\5100
MOVE ..\5100*.* .
MOVE ..\5101*.* .
MOVE ..\5102*.* .
MOVE ..\5103*.* .
MOVE ..\5104*.* .
MOVE ..\5105*.* .
MOVE ..\5106*.* .
MOVE ..\5107*.* .
MOVE ..\5108*.* .
MOVE ..\5109*.* .
PAUSE
CD ..\5110
MOVE ..\5110*.* .
MOVE ..\5111*.* .
MOVE ..\5112*.* .
MOVE ..\5113*.* .
MOVE ..\5114*.* .
MOVE ..\5115*.* .
MOVE ..\5116*.* .
MOVE ..\5117*.* .
MOVE ..\5118*.* .
MOVE ..\5119*.* .

出错情形就是移动后,5100的目录里会有应该被移动到5110里的文件。

原来是 510*   511*,结果发现 移动文件出错。随即把文件名前三 变成了 前四 ,结果是有改善,但是还是出现这个问题。  对DOS命令熟悉的来说说吧。。

发表于 2022-7-6 08:56:28 | 显示全部楼层

dos对文件名长度有要求,并且只识别一个.(点字符),但是cmd下已经改进了。
回复 支持 反对

使用道具 举报

发表于 2022-7-4 21:42:49 | 显示全部楼层
DOS下的命令都忘了
回复 支持 反对

使用道具 举报

发表于 2022-7-4 18:22:04 | 显示全部楼层
在cmd下面操作带空格以及特殊字符的文件夹的路径时,路径两端要加“”吧。
回复 支持 反对

使用道具 举报

发表于 2022-7-4 16:54:14 | 显示全部楼层
dos对文件名长度有要求,并且只识别一个.(点字符)
回复 支持 反对

使用道具 举报

发表于 2022-7-2 09:41:54 | 显示全部楼层
DOS好像支持文件名是83结构,后来的支持长文件名了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-2 06:25:54 | 显示全部楼层
本帖最后由 happy_2000 于 2022-7-2 06:28 编辑
happy_2000 发表于 2022-7-2 06:24
移动是没问题的,但是它把符合5100~09开头的移动过去了,但也把下一个目录的5110开头的移动过去了。 ...

用dir列目录保存到某文件里,再修改里面内容(完整文件名,没有通配符),移动后 就没问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-2 06:24:32 | 显示全部楼层
本帖最后由 happy_2000 于 2022-7-2 06:31 编辑
fangyinghh 发表于 2022-7-1 22:19
楼主还在用dos3.3的思路操作win10的cmd窗口,确实解释不一样了。
另外,你这个批处理,用了相对路径,干嘛 ...

移动是没问题的,但是它把符合5100~09开头的移动过去了,但也把下一个目录的5110开头的移动过去了。没有用绝对路径,是因为前面有 中文的文件夹名。要移动的文件在第3层,移动后的在第4层。
..\5100等等的,都只是批处理的一部分,掐头去尾了。。。
回复 支持 反对

使用道具 举报

发表于 2022-7-1 22:19:00 | 显示全部楼层
楼主还在用dos3.3的思路操作win10的cmd窗口,确实解释不一样了。
另外,你这个批处理,用了相对路径,干嘛不用绝对路径? ..\5100,当前路径是哪里?你都cd到上一级的5100了,你工作目录就是5100,然后又move....,哎,我觉得就是原地不动啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-30 09:39:59 | 显示全部楼层
本帖最后由 happy_2000 于 2022-6-30 16:53 编辑
wgm468 发表于 2022-6-29 22:54
感觉现在用DOS的少了,都不记得啥命令和通配符了

下载到了一个7万本小说,是一个40多G的压缩包,解压缩后是一堆27个按首字拼音整理的文件夹,里面每个小说都是压缩包,压缩包里一个txt的小说和几个广告图片和网址。在DOS下移动、删除后,用rd删除目录的时候发现居然删不掉,然后用dir/A,发现里面居然还有隐藏的广告连接。解压删除无用文件后还有80多G。。。
这个还是DOS下操作比较方便,不然每个文件夹里的文件要拷贝,删除,鼠标点不过来的了。。
回复 支持 反对

使用道具 举报

发表于 2022-6-29 22:54:41 | 显示全部楼层
感觉现在用DOS的少了,都不记得啥命令和通配符了
回复 支持 反对

使用道具 举报

发表于 2022-6-29 17:22:18 | 显示全部楼层
TOTALCMD试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-29 17:16:11 | 显示全部楼层
qqings 发表于 2022-6-29 15:58
怎么会错呢,*号是通配任何长度任何字符,?号是通配一个长度任何字符

非常奇怪,我怀疑可能是同一个文件  文件名 长、短的问题。
回复 支持 反对

使用道具 举报

发表于 2022-6-29 15:58:10 | 显示全部楼层
怎么会错呢,*号是通配任何长度任何字符,?号是通配一个长度任何字符
回复 支持 1 反对 0

使用道具 举报

发表于 2022-6-29 14:40:48 | 显示全部楼层
个人感觉用xcopy会更方便些。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-29 11:43:42 | 显示全部楼层
本帖最后由 happy_2000 于 2022-6-29 11:45 编辑
aaaadd 发表于 2022-6-29 10:34
估计是cmd处理通配符有问题
建议更改三方工具(比如everything等支持正则过滤的工具)或用powershell

已经用最笨的办法解决了。
DOS 窗口下,用dir/B /ON >B.BAT
然后编辑这个b.bat,里面每行都是一个文件名,把文件名前面添加 move 和路径,后面添加 . ,然后保存退出编辑状态。然后运行这个批处理, 成功把全部文件归位了。。
回复 支持 反对

使用道具 举报

发表于 2022-6-29 10:34:26 | 显示全部楼层
估计是cmd处理通配符有问题
建议更改三方工具(比如everything等支持正则过滤的工具)或用powershell

用正则比单纯的通配符好用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-29 09:58:51 | 显示全部楼层
本帖最后由 happy_2000 于 2022-6-29 10:01 编辑
douzi707 发表于 2022-6-29 08:10
用文件名排序就行吧

不是的,排序是肯定的,还要根据文件名 多选 需要的文件,几千个文件,需要下拉窗口右边的滑块,有时候就会选择失败,还要重新来,没批处理简单。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-29 09:56:12 | 显示全部楼层
ifku69 发表于 2022-6-29 07:48
还用dos移动,不是在windows里边找准要动的文件,剪切,粘贴就完事了吗

正常情况下,批处理,比手工操作来的简单。键盘上敲若干个字符 就OK了。
回复 支持 1 反对 0

使用道具 举报

发表于 2022-6-29 08:10:17 | 显示全部楼层
用文件名排序就行吧
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-26 00:06 , Processed in 0.156001 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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