标题: [文件操作] 【已解决】拖放法获取文件路径如何处理路径带空格的问题 [打印本页]
作者: hbb 时间: 2016-8-1 17:11 标题: 【已解决】拖放法获取文件路径如何处理路径带空格的问题
本帖最后由 hbb 于 2016-8-1 21:45 编辑
我有如下代码,请教下,如果我把带有空格文件名的文件拖到批处理上,执行就会出错,请教如何修改此脚本,谢谢!- @echo off
- if /i "%1" == "" echo 请把书签文件拖到此批处理。 & pause>nul & goto :eof
- copy %1 "D:\Users\Administrator\Desktop">nul & echo 恢复书签成功 & pause>nul
复制代码
作者: ygqiang 时间: 2016-8-1 18:34
回复 1# hbb
"%1"
作者: bbaa 时间: 2016-8-1 20:15
- @echo off
- if /i "%*" == "" echo 请把书签文件拖到此批处理。 & pause>nul & goto :eof
- copy /y "%*" "D:\Users\Administrator\Desktop">nul & echo 恢复书签成功 & pause>nul
复制代码
作者: hbb 时间: 2016-8-1 21:19
感谢楼上两位大哥,试过了还是不行,我的书签文件名格式是“Bookmarks.2016-08-01 15∶19”,单独执行以下代码就可以- @echo on
- copy %1 "D:\Users\Administrator\Desktop"
复制代码
作者: pcl_test 时间: 2016-8-1 21:24
本帖最后由 pcl_test 于 2016-8-1 21:30 编辑
%1对于带空格的路径会带上双引,所以错误会发生在if语句而不是copy语句
%~1则可去掉双引- @echo off
- if "%~1" == "" echo 请把书签文件拖到此批处理。 &>nul ping -n 2 0&exit
- rem copy "%~1"亦可
- copy %1 "D:\Users\Administrator\Desktop\">nul&&echo 恢复书签成功 & pause>nul
复制代码
作者: ai20110304 时间: 2016-8-1 21:40
试下
%~nx1
作者: hbb 时间: 2016-8-1 21:45
感谢版主热心恢复,问题解决了,谢谢!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |