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

[文件操作] 【已解决】拖放法获取文件路径如何处理路径带空格的问题

[复制链接]
发表于 2016-8-1 17:11:03 | 显示全部楼层 |阅读模式
本帖最后由 hbb 于 2016-8-1 21:45 编辑

我有如下代码,请教下,如果我把带有空格文件名的文件拖到批处理上,执行就会出错,请教如何修改此脚本,谢谢!
  1. @echo off
  2. if /i "%1" == "" echo 请把书签文件拖到此批处理。 & pause>nul & goto :eof
  3. copy %1 "D:\Users\Administrator\Desktop">nul & echo 恢复书签成功 & pause>nul
复制代码

评分

参与人数 1PB -4 收起 理由
pcl_test -4 发帖前先使用论坛搜索

查看全部评分

发表于 2016-8-1 18:34:52 | 显示全部楼层
回复 1# hbb


    "%1"
发表于 2016-8-1 20:15:00 | 显示全部楼层

  1. @echo off
  2. if /i "%*" == "" echo 请把书签文件拖到此批处理。 & pause>nul & goto :eof
  3. copy /y "%*" "D:\Users\Administrator\Desktop">nul & echo 恢复书签成功 & pause>nul
复制代码
 楼主| 发表于 2016-8-1 21:19:37 | 显示全部楼层
感谢楼上两位大哥,试过了还是不行,我的书签文件名格式是“Bookmarks.2016-08-01 15∶19”,单独执行以下代码就可以
  1. @echo on
  2. copy %1 "D:\Users\Administrator\Desktop"
复制代码
发表于 2016-8-1 21:24:53 | 显示全部楼层
本帖最后由 pcl_test 于 2016-8-1 21:30 编辑

%1对于带空格的路径会带上双引,所以错误会发生在if语句而不是copy语句
%~1则可去掉双引
  1. @echo off
  2. if "%~1" == "" echo 请把书签文件拖到此批处理。 &>nul ping -n 2 0&exit
  3. rem copy "%~1"亦可
  4. copy %1 "D:\Users\Administrator\Desktop">nul&&echo 恢复书签成功 & pause>nul
复制代码
发表于 2016-8-1 21:40:43 | 显示全部楼层
试下
%~nx1
 楼主| 发表于 2016-8-1 21:45:04 | 显示全部楼层
感谢版主热心恢复,问题解决了,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 12:49 , Processed in 0.019533 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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