找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: watermark

[文件操作] 其实CMD原生支持操作含有多种形式特殊字符的文件和目录!

[复制链接]
发表于 2012-1-23 23:33:54 | 显示全部楼层
测试过才发的,既然实现 echo 了,改一下不就是 md 了吗?不过楼主貌似有不一样的思路,很感兴趣,期待…
发表于 2012-1-24 01:52:37 | 显示全部楼层
回复 12# watermark
我也测试过了,你估计代码都没看吧
我md的时候已经加过一次双引号了,你输入的时候把双引号去掉不就是了,或者直接把我代码里面的双引号去掉不就好了
 楼主| 发表于 2012-1-25 10:25:54 | 显示全部楼层
回复 14# CrLf

我的全程无需转义,对各种合法的文件名都能轻松处理,所以才说“原生支持”。
关键是开头 set 那一句吧, 当然也不像楼上那样的才两行命令。

伟大的斑竹们啊,请饶恕我继续故弄玄虚一把呀。。。
发表于 2012-1-25 11:11:00 | 显示全部楼层
回复 18# watermark
我那个代码也可以实现你的效果,有简单的为什么不用简单的
所谓转义是在解释时特殊字符被赋予了特殊意义,!!的拓展在转义之后,自然就是原生支持,没什么特别的
发表于 2012-1-25 11:45:34 | 显示全部楼层
回复 11# aries215


需要拖动的,都是蛋疼的
 楼主| 发表于 2012-1-25 14:31:03 | 显示全部楼层
回复 19# defanive
你的代码我实在看不懂,请原谅我水平有限。
就事论事的说,不管什么叫“转义”,我那个批处理不需要用到。
发表于 2012-1-26 10:01:05 | 显示全部楼层
回复 21# watermark
那你发出来吧,看不到你代码我也不好评论
发表于 2012-1-27 09:55:59 | 显示全部楼层
楼主在新年钟声敲响时发帖
钻研精神实在可嘉!
感觉很像某位大神的作风

至于楼顶提到的命令行参数传递特殊字符的问题
因为我曾经参与过讨论并给出了"批处理基本无解"的推论
自然很有兴趣了解有人可以打破这个推论找到新思路

不过看了楼主的所有发帖
似乎都没有测试 (abc)&(xyz).cmd
那是我在你引用的旧帖中所遗留下的尾巴问题
如果你的代码能通过就非常有意义了

建议你参照引用帖中的代码建立测试文件
这样的测试结果更容易引起原帖的参与者的共鸣
另外建议代码结果尽量不要用贴图
会把一些潜在的讨论者拒之门外
包括很多手机wap用户和所有匿名用户

CrLf版主的两段代码都有新奇之处
尤其第一段代码的创新令人击节
可惜兼容性也要差一些
另外两端代码都不支持多文件同时拖拽

defanive似乎没有注意到11楼aries215老兄的提醒
原帖讨论的是“拖至批处理的图标上执行”
而非“批处理的窗口内执行”
所以使用set/p的方向就是有误的

至于拖动文件到批处理图标上运行
是否如find在20楼所说的“蛋疼”
那就是另外一回事了
此处不论
发表于 2012-1-27 20:18:22 | 显示全部楼层
%CMDCMDLINE%
在这里面提取行不?
发表于 2012-1-27 21:48:58 | 显示全部楼层
  1. set "ddrx=%*"
  2. set "vbrx=%ddrx:"=%"
  3. if "%vbrx:~-4%"==".txt" set "vbrx=%vbrx:~0,-4%_txt"
  4. md "%vbrx%"
  5. pause
复制代码
把上面几段代码用"Quick Batch File Compiler“软件包装一下成EXE文件
然后把txt文件拖到这个EXE文件上即可实现
楼主是这样吗?
 楼主| 发表于 2012-1-30 16:01:18 | 显示全部楼层
回复 25# yue
不是啦, 原生就是不需要借助任何第三方工具, 像平常那样编写和执行批处理.
还有, 我并没有指定后缀, 拖入任意后缀的文件都OK.

回复 23# qzwqzw

等的就是你, 呵呵~

首先, 跟"CrLf"版主说一声 Sorry, 让你受委屈了!

(abc)&(xyz) 这类文件名我开始时就测试通过的, 觉得还不够特殊, 才上1楼的图. 只要是合法的文件名, 都能通过测试.
下面这样的文件(夹)名称包含了几乎全部合法的特殊字符, 够复杂了吧?! 嗯, 抱歉, 我还得再贴两张图, 感觉比较直观. 俗话说, 有图有真相.
发表于 2012-1-30 17:00:44 | 显示全部楼层
回复 26# watermark


    贴 100 张图不如贴出代码...
 楼主| 发表于 2012-1-30 17:10:15 | 显示全部楼层
这么夸张? 我没有意识到哦...

好吧, 先贴开头两行代码:
  1. SetLocal EnableDelayedExpansion
  2. Set tsr=!*
复制代码
发表于 2012-1-30 18:59:50 | 显示全部楼层
回复 26# watermark


    都想不出来了,楼主真是人才了
发表于 2012-1-30 19:55:09 | 显示全部楼层
本帖最后由 CrLf 于 2012-1-30 20:28 编辑

汗,还是不懂...
话说参数为“(abc)&(xyz).txt”时,应该会出现语法错误,连 cmd 都打不开的啊,为什么楼主能正常运行...
好奇,静待答案揭晓。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:01 , Processed in 0.016573 second(s), 6 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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