楼 主
可以实现按快捷方式复制文件吗
发表于 2008-04-18 19:41 · 中国 江苏 扬州 电信
高级用户
★★★
积分 620 发帖 329 注册 2007-12-05 15:34 18年会员 UID 104754 性别 男
状态 离线
01.txt记录一系列.快捷方式的文件.
用BAT.将它些快捷方式的原文件.复制至指定的文件夹内.重复的自动更名.
如.在01.txt记录:
c:\dd\0.1.lnk (指引原文件为c:\55\1.jpg)
c:\cc\0.2.lnk (指引原文件为e:\ww\11.doc)
d:\0.3.lnk (指引原文件为d:vv\22.bmp)
.......
用BAT将1.jpg 11.doc 22.bmp复制至指定的文件夹中.
而不复制0.1.lnk 0.2.lnk 0.3.lnk
[ Last edited by cad55 on 2008-4-18 at 09:33 PM ]
第 2 楼
请把对应规律搞好:
发表于 2008-04-18 20:41 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
绝对可以,但楼主的快捷方式和原文件的对应太没规律了,这不摆明了要做体力活啊!
批处理之家新域名:www.bathome.net
第 3 楼
发表于 2008-04-18 21:31 · 中国 江苏 扬州 电信
高级用户
★★★
积分 620 发帖 329 注册 2007-12-05 15:34 18年会员 UID 104754 性别 男
状态 离线
Originally posted by zw19750516 at 2008-4-18 08:41 PM:
绝对可以,但楼主的快捷方式和原文件的对应太没规律了,这不摆明了要做体力活啊!
不是要找规律..........
就是引用快捷方式的就可以找到原文件了...
但就是复制不了...复制是快捷方式本身....
还请各位大侠....支支招呀............
第 4 楼
原来是这样的:
发表于 2008-04-18 21:34 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
是我理解错了,如是这样,恐怕难啊。
用type *.lnk只是能把它的路径显示出来,但乱码如何去掉啊?
[ Last edited by zw19750516 on 2008-4-18 at 09:43 PM ]
批处理之家新域名:www.bathome.net
第 5 楼
我看用批处理是做不到了:
发表于 2008-04-18 21:57 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
我建了个快捷方式01.lnk,想把它的内容输出:
for /f "delims=" %%i in ('type 01.lnk') do echo %%i
结果只显示一个L
type 01.lnk内容如下:
L F `翹H∪ €?? #∪? H簭
E%槰 64 5 }8j ybYt 锞}8j ? € ybYt N 6 ? ? Last edited by zw19750516 on 2008-4-18 at 09:59 PM ]
批处理之家新域名:www.bathome.net
第 6 楼
发表于 2008-04-18 22:19 · 中国 重庆 联通
中级用户
★★
积分 363 发帖 162 注册 2007-04-22 21:31 19年会员 UID 86104 性别 男
状态 离线
第 7 楼
发表于 2008-04-18 22:42 · 中国 广西 玉林 电信
金牌会员
★★★★
积分 3,687 发帖 1,467 注册 2005-08-08 12:00 21年会员 UID 44210
状态 离线
试试这个:
@echo off
for /f "delims=" %%i in ('find ":\" *.lnk') do (
set str=%%i
call :lp
)
pause
exit
:lp
if "%str:~1,2%" == ":\" echo %str%
goto :eof
第 8 楼
发表于 2008-04-18 22:55 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212 发帖 2,478 注册 2007-02-08 23:39 19年会员 UID 79003 性别 男
状态 离线
第 9 楼
发表于 2008-04-18 23:06 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
厉害,为什么我用findstr不行?(findstr不行我就想都没想用find试了)
[ Last edited by zw19750516 on 2008-4-18 at 11:07 PM ]
批处理之家新域名:www.bathome.net
第 10 楼
现在能解决问题了:
发表于 2008-04-18 23:17 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
假设要复制到d:\temp
@echo off
for /f "delims=" %%i in (01.txt) do call :lp %%i
pause>nul&goto :eof
:lp
for /f "delims=" %%i in ('type %1 ^| find ":\"') do copy /y "%%i" d:\temp
[
Last edited by zw19750516 on 2008-4-18 at 11:38 PM ]
批处理之家新域名:www.bathome.net
第 11 楼
发表于 2008-04-19 09:23 · 中国 江苏 扬州 电信
高级用户
★★★
积分 620 发帖 329 注册 2007-12-05 15:34 18年会员 UID 104754 性别 男
状态 离线
感谢各位
感谢"zh159""zw19750516"
问题解决了..............
第 12 楼
发表于 2008-04-19 11:37 · 中国 广西 玉林 电信
金牌会员
★★★★
积分 3,687 发帖 1,467 注册 2005-08-08 12:00 21年会员 UID 44210
状态 离线
按LZ的要求(自己测试):
@echo off
for /f "delims=" %%i in (01.txt) do (
for /f "delims=" %%j in ('find ":\" "%%i"') do (
set str=%%j
call :lp "%%i"
)
)
pause
exit
:lp
if "%str:~1,2%" == ":\" (
echo %~1 - echo %str%
)
goto :eof
第 13 楼
发表于 2008-04-19 12:24 · 中国 江苏 扬州 电信
高级用户
★★★
积分 620 发帖 329 注册 2007-12-05 15:34 18年会员 UID 104754 性别 男
状态 离线
Originally posted by zh159 at 2008-4-19 11:37 AM:
按LZ的要求(自己测试):
@echo off
for /f "delims=" %%i in (01.txt) do (
for /f "delims=" %%j in ('find ":\" "%%i"') do (
set str= ...
谢谢...但此命令..不支持中文名
还请改一下...
第 14 楼
发表于 2008-07-30 09:25 · 中国 广东 东莞 电信
银牌会员
★★★
积分 1,179 发帖 442 注册 2006-09-09 22:47 19年会员 UID 62249
状态 离线
还没有发现FIND还具有这个功能,但是非常失望的如果跟了参数,那么就不行了,如下的快捷方式
D:\CATIA\B17\intel_a\code\bin\CATSTART.exe -run CNEXT.exe -env CATIA_P3.V5R17.B17 -direnv D:\CATIA\CATEnv -nowindow
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正