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

[文件操作] 求个批处理:将当前路径下的某个文件夹创建快捷方式,然后发送到指定路径?

[复制链接]
 楼主| 发表于 2025-7-7 20:49:15 | 显示全部楼层
回复 44# 77七
不好意思,你说的行应该是指帖子里的, 我还总去数emeditor里的,不过好像还是不对
发表于 2025-7-7 20:51:03 | 显示全部楼层
回复 43# ednykissyou

你断定能自动获取 aa,bb 所在目录是因为批处脚本与 aa, bb 均在同一目录,ok! 据此就是以下这个版本了...

  1. @echo off &setlocal
  2. %~1 powershell "start -file '%~f0' -arg '::' -verb runas" &exit/b
  3.    for %%p in ("aa") do set "Da=%%~fp" &for %%p in ("bb") do set "Db=%%~fp"
  4. powershell "$ws=new-object -comobject wscript.shell;('%Da%','%Db%')|%%{$sc=$ws.createshortcut($_+'.lnk');$sc.targetpath=$_;$sc.save()}"
  5. if not exist "C:\Program Files\Adobe\Adobe InDesign 2024\Scripts\Scripts Panel" goto :next
  6. set/p "r=将删除 C:\Program Files\Adobe\Adobe InDesign 2024\Scripts\Scripts Panel 中的全部内容(1=是,0=否):"
  7. if %r% neq 1 goto :next
  8. del /q "C:\Program Files\Adobe\Adobe InDesign 2024\Scripts\Scripts Panel\*.*"
  9. pushd "C:\Program Files\Adobe\Adobe InDesign 2024\Scripts\Scripts Panel"
  10. rd /q /s "C:\Program Files\Adobe\Adobe InDesign 2024\Scripts\Scripts Panel" 2>nul
  11. popd
  12. :next
  13. for /f "delims=" %%d in ('dir /b/s/ad "C:\Program Files\Adobe\*Scripts Panel"^|findstr /irc:"Adobe InDesign 202[0-9]" ') do for %%F in ("%Da%", "%Db%") do copy /y "%%~F.lnk" "%%d"
  14. pause&exit/b
复制代码
 楼主| 发表于 2025-7-7 20:54:23 | 显示全部楼层
本帖最后由 ednykissyou 于 2025-7-7 21:03 编辑

回复 44# 77七

我有罪……
是我看错了,我没有修改 aa bb
现在好了,只是咋会弹出2次提示删除?

多出了这个路径
C:\Program Files\Adobe\Adobe InDesign 2024\Scripts\Community\Scripts Panel\

是误伤么?
 楼主| 发表于 2025-7-7 20:57:38 | 显示全部楼层
回复 47# aloha20200628

aloha 我试过了你47#的了,还是老问题,创建了两个不可识别的文件
发表于 2025-7-7 21:08:37 | 显示全部楼层
回复 49# ednykissyou

运行47楼代码的前提还是老条件》与批处脚本同目录的 aa, bb 均须为真实目录名!
 楼主| 发表于 2025-7-7 21:10:16 | 显示全部楼层
回复 44# 77七
好像误包含了以下目录,
C:\Program Files\Adobe\Adobe InDesign 2024\Scripts\Community\Scripts Panel\
   
能把目标路径设为可简单直接替换方式么,现在这个有点看不懂,不利于我们小白上手。
发表于 2025-7-7 21:10:30 | 显示全部楼层
回复 48# ednykissyou


   
36楼代码,考虑多人使用,故去掉了一个筛选条件,且增加了确认目录。

既然不再确认目录,可以把过滤条件再加上,36楼代码第18行改为:
  1. for /f "delims=" %%i in ('2^>nul dir /b /s /ad "%folder_adobe%\%folder_scripts%*" ^|find /i "Scripts\%folder_scripts%"') do (
复制代码
 楼主| 发表于 2025-7-7 21:16:31 | 显示全部楼层
本帖最后由 ednykissyou 于 2025-7-7 21:19 编辑

回复 52# 77七

大神,除了路径表示不简易通俗, 不易掌握使用外,其他近乎完美。

牛!
感谢~
发表于 2025-7-7 21:29:23 | 显示全部楼层
回复 53# ednykissyou


      list="aa" "bb"
这里的 aa bb 可以是相对路径,相对路径指的是相对于批处理工作路径,这里的工作路径就是批处理文件所在目录,比如 批处理在 d:\test\ 下,aa bb 位于d:\test\下即可,也可以位于其子目录 如 d:\test\next\aa ,则应写为list=".\next\aa";


也可以是绝对路径,如 list="d:\test\aa",写死了路径,这时候批处理文件可以放在任意目录下。
 楼主| 发表于 2025-7-7 21:37:22 | 显示全部楼层
回复 54# 77七


我不是说这个工作路径。
我说的是 目标路径C:\Program Files\Adobe\Adobe InDesign 2024\Scripts\Scripts Panel\
这个如果能直接这样,别个就很容易修改一下用在别处。
发表于 2025-7-7 21:46:33 | 显示全部楼层
回复 55# ednykissyou


  
  1. @echo off & FLTMC>nul||(mshta vbscript:CreateObject^("Shell.Application"^).ShellExecute^("%~snx0"," %*","","runas",1^)^(window.close^)&&exit /b)
  2. rem 保存为ansi编码
  3. cd /d "%~dp0"

  4. rem 需要的快捷方式路径
  5. set list="aa" "bb"
  6. set "folder=C:\Program Files\Adobe\Adobe InDesign 2024\Scripts\Scripts Panel"

  7. for /f "delims=" %%i in ("%folder%.") do (
  8.         for %%a in (%list%) do (
  9.                 if exist "%%~a" (
  10.                         echo 正在创建快捷方式 [%%~a]
  11.                         mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut("^
  12.                         "%%~fi\%%~nxa.lnk""):b.TargetPath=""%%~fa"":b.WorkingDirectory=""%%~dpa"":b.Save:close"^)
  13.                         if exist "%%i\%%~nxa.lnk" (
  14.                                 echo 操作成功
  15.                         ) else (
  16.                                 echo 操作失败
  17.                         )
  18.                 ) else (
  19.                         echo 未找到 [%%~a] ,请检查路径
  20.                 )
  21.         )
  22. )
  23. pause
复制代码
 楼主| 发表于 2025-7-7 21:56:15 | 显示全部楼层
回复 47# aloha20200628


55楼 77七的简化版 我指的就是相对路径。
绝对路径不是上策。
 楼主| 发表于 2025-7-7 21:57:54 | 显示全部楼层
回复 56# 77七


这是返璞归真了么。
这个就挺好。
 楼主| 发表于 2025-7-7 22:01:22 | 显示全部楼层
回复 56# 77七

简版这个能加上删除
Scripts Panel\
目录下的命令么?
发表于 2025-7-7 22:10:50 | 显示全部楼层
回复 59# ednykissyou


复制36楼代码的第25-32行,放在56楼代码 第9、10行之间
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 02:30 , Processed in 0.016500 second(s), 6 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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