日期:2014-05-17  浏览次数:20989 次

关于用bat查找文件并创立快捷方式的
本帖最后由 qy5408535 于 2012-10-28 18:36:34 编辑 看到另一篇帖子上发了一个“关于用bat查找文件并创立快捷方式的”问题,自己回去试试
@echo off 
for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do ( 
for /f "delims=|" %%i in ('dir /ad /b /s %%a:\abc?') do ( 
echo %%i
echo [InternetShortcut] >>"%USERPROFILE%\桌面\abc.url"
echo URL="%%i" >>"%USERPROFILE%\桌面\abc.url"
echo IconIndex=3 >>"%USERPROFILE%\桌面\abc.url"
echo IconFile="%windir%\system32\shell32.dll" >>"%USERPROFILE%\桌面\abc.url"



这是代码:http://topic.csdn.net/u/20121024/20/94ef8399-8246-489c-ad38-1b5e85489613.html?87493这是原贴
可是运行结果却是
哪位大神帮帮忙 看看是怎么一回事 万分感谢
------最佳解决方案--------------------

C:\Users\雨虹\Desktop>set b=0

C:\Users\雨虹\Desktop>for %a in (a b c d e f g h i j k l m n o p q r s t u v w x
 y z) do (for /F "delims=
------其他解决方案--------------------
for /f "delims=
------其他解决方案--------------------
" %%i in ('dir /ad /b /s %%a:\abc')改成
for /f "delims=
------其他解决方案--------------------
" %%i in ('dir /ad /b /s %%a:\abc?')
------其他解决方案--------------------
http://topic.csdn.net/u/20121024/20/94ef8399-8246-489c-ad38-1b5e85489613.html

为什么我运行的时候出现 参数格式不正确-“color”.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
因为我前面的代码,本来想把?符号标红色出来的,结果发错了,直接当作源代码发出了


帖子已更新了
------其他解决方案--------------------
这按照你说的 可是又显示“系统找不到指定的路径”
------其他解决方案--------------------
系统找不到指定的路径
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
两个原因,
 1、因为前面是循环查找a-z盘,那没有的盘,自然提示找不到路径了,比如:
 dir /ad /b /s z:\abc?
 这个是正常的

 2、是后面的桌面输出路径"%USERPROFILE%\desktop的原因,比如:
 XP系统是:"%USERPROFILE%\桌面
 win7系统是:"%USERPROFILE%\Desktop
 如果你是XP系统,用"%USERPROFILE%\Desktop,就是找不到路径了

------其他解决方案--------------------
嗯 先谢了哈 
但还是有问题的,比如说我在f盘下建立了个名为abc的文件夹,如果按照之前的代码还是显示 系统找不到指定的路径  之后我将for /f "delims=
------其他解决方案--------------------
" %%i in ('dir /ad /b /s %%a:\abc?'中的%%a:\abc?改为 f:\abc?
运行之后倒是没有错误,但是竟然会创建52个abc文件夹的快捷方式,而且就算这样没错的话,这我本来的意思就是不知道在那个盘中,就是要程序循环查找的,而且我电脑的盘就是c.d.e.f.h五个盘的,应该是可以查到的啊。可是还是之前的错误。我的系统也是win764位的
------其他解决方案--------------------
测试时,如果不清楚在哪里有问题,可以先将echo on看回显

偶的xp,win7 64测试都没问题

------其他解决方案--------------------
" %i in ('dir /ad /b /s %a:\abc? ') do (
set /a b+=1
 echo on !b!、找到目录:%i
 echo on !b!、桌面快捷方式:abc_(!b!)
 echo on [InternetShortcut]   1>>"C:\Users\雨虹\Desktop\abc_(!b!).url"
 echo on URL="%i"   1>>"C:\Users\雨虹\Desktop\abc_(!b!).url"