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

[文件操作] 批处理怎样实现拖拽/拖放多个文件到CMD窗口并显示每一个文件名?

[复制链接]
发表于 2011-5-9 23:26:03 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2018-4-20 17:05 编辑

RT。查阅了前人的一个帖子:
  1. @echo off
  2. set str=%*
  3. set "str=%str:"=%"
  4. set "str= %str%"
  5. call set "str=%%str: %~d1=" "%~d1%%"
  6. for %%i in ("%str%") do echo %%i
  7. pause
复制代码
其中

  1. set str=%*
  2. set "str=%str:"=%"
  3. set "str= %str%"
  4. call set "str=%%str: %~d1=" "%~d1%%"
复制代码
几句是什么意思啊。这个版本为什么第一个字符串变为“”。
希望大虾帮助一下,在此谢过!
发表于 2011-5-9 23:40:30 | 显示全部楼层
本帖最后由 hanyeguxing 于 2011-5-9 23:48 编辑

忽略敏感字符&等的问题:
  1. @echo off
  2. :a
  3. echo;"%~1"
  4. shift
  5. if not "%1"=="" goto:a
  6. pause
复制代码
 楼主| 发表于 2011-5-10 12:59:30 | 显示全部楼层
2# hanyeguxing
谢谢版主的指教。还有一个问题想请教,shift命令为什么当存在空格或者&等字符的时候就失效了
发表于 2011-5-10 13:13:27 | 显示全部楼层
2# hanyeguxing
谢谢版主的指教。还有一个问题想请教,shift命令为什么当存在空格或者&等字符的时候就失效了
hrhktkbzyy 发表于 2011-5-10 12:59

空格也会出错么?
&的问题,错不在于shift,而在于%1,详见挑战区旧帖
 楼主| 发表于 2011-5-10 13:48:30 | 显示全部楼层
本帖最后由 hrhktkbzyy 于 2011-5-10 13:59 编辑

4# zm900612
我测试空格是有问题。
当文件名有空格的时候,拖放文件后命令行窗口一闪即过,没有执行pause。系统是 XP SP3
 楼主| 发表于 2011-5-10 14:16:18 | 显示全部楼层
本帖最后由 hrhktkbzyy 于 2011-5-10 14:18 编辑

2# hanyeguxing
找到了问题的原因,还是在文件名存在空格的时候自动添加引号的问题,改为:
  1. if not "%~1"=="" goto:a
复制代码
问题解决。
再次感谢版主的热心指导~
发表于 2019-5-10 15:02:17 | 显示全部楼层
hanyeguxing
找到了问题的原因,还是在文件名存在空格的时候自动添加引号的问题,改为:问题解决。
再 ...
hrhktkbzyy 发表于 2011-5-10 14:16

文件名中有空就需要在把文件名加上"" 如"C:\Program Files"
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 05:59 , Processed in 0.013212 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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