![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-13 00:15 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已完美解決]利用Mklink進行目錄點連接或文件符號鏈接 |
| 可打印版本 3,276 / 38 |
| 第16楼 000000000000000 | 发表于 2010-01-12 16:19 |
| 初级用户 发帖 42 积分 49 | |
|
re 15楼: 输入源文件时可以手工输入名称
[ Last edited by 000000000000000 on 2010-1-12 at 16:31 ] |
|
| 第17楼 iPoint | 发表于 2010-01-12 16:31 |
| 初级用户 发帖 26 积分 22 | |
Originally posted by 000000000000000 at 2010-1-12 16:19: 我想問的是如果手工輸入後不會被for %%a in ("%src:"=%") do set dest="%dest:"=%\%%~nxa"語句替換嗎。。 ----------------------------------- 引用:BATHOME.net回貼 极端地问楼上 但要是一个文件根本就没有后缀怎么办呢? (同时试答LZ“判斷輸入的是路徑還是文件”): for /f "delims=" %i in ("只是名字无后缀 目录或文件待测 且有空格") do if not exist %~snxi\nul: echo 这才是文件 兰字是你输入或拖拽进去的变量, 红字是关键,nul:是虚设备 ~S 解决目录或文件名中有空格的问题 這是BATHOME.net上達人回的貼我測試沒有擴展名的文件真的不行。。用上 for /f "delims=" %a in ("%src%") do if not exist %~snxa\nul: echo 这才是文件 後窗口一閃就沒了。。能修改下嗎。。 謝謝。。 |
|
| 第18楼 iPoint | 发表于 2010-01-12 16:44 |
| 初级用户 发帖 26 积分 22 | |
Originally posted by 000000000000000 at 2010-1-12 16:19: 不行的源文件不能改名改了會找不到引用項 我的意思是%%~nxa能不能設成變量。如果有輸入就優先用輸入沒有就調用源文件的尾端文件名或目錄名 |
|
| 第19楼 000000000000000 | 发表于 2010-01-12 16:46 |
| 初级用户 发帖 42 积分 49 | |
|
刚才14楼写错了个词,把 src 写成了 scr。。现在改回去了。
---------------------------- 可以直接输入名称啊,“%%~nxa”表示的是路径中的文件名及后缀名。 |
|
| 第20楼 000000000000000 | 发表于 2010-01-12 16:50 |
| 初级用户 发帖 42 积分 49 | |
|
手工输入,如何判断你输入的是 文件 还是 目录 ?
[ Last edited by 000000000000000 on 2010-1-12 at 16:51 ] |
|
| 第21楼 iPoint | 发表于 2010-01-12 16:57 |
| 初级用户 发帖 26 积分 22 | |
Originally posted by 000000000000000 at 2010-1-12 16:46: "D:\Users\i - Copy\P h o t o s" "D:\Users\i - Copy\New folder"\ff Mklink /j "D:\Users\i - Copy\New folder\ff這裡本來是要等同於P h o t o s的快捷方式的現在變成了上級目錄並因為沒有此目錄而出錯\P h o t o s" "D:\Users\i - Copy\P h o t o s" Press any key to continue . . . |
|
| 第22楼 iPoint | 发表于 2010-01-12 17:01 |
| 初级用户 发帖 26 积分 22 | |
Originally posted by 000000000000000 at 2010-1-12 16:50: 算了。。不搞那麼複雜了。。累人。。現在只想請大大幫著修正下如何處理沒有擴展名的文件還是調用Mklink命令 for /f "delims=" %i in ("只是名字无后缀 目录或文件待测 且有空格") do if not exist %~snxi\nul: echo 这才是文件 我換成 for /f "delims=" %%a in ("%src%") do if not exist %%~snxa\nul: echo 这才是文件 但是窗口一閃就沒了 |
|
| 第23楼 000000000000000 | 发表于 2010-01-12 17:24 |
| 初级用户 发帖 42 积分 49 | |
|
这个不行吗:
if exist test\ (echo 是目录) else echo 是文件 |
|
| 第24楼 iPoint | 发表于 2010-01-12 17:39 |
| 初级用户 发帖 26 积分 22 | |
Originally posted by 000000000000000 at 2010-1-12 17:24: 可以了去掉ECHO 是我沒細看復制就用了。。今天 看了太多的文章腦子一團麻。。呵呵 謝謝大大 |
|
| 第25楼 iPoint | 发表于 2010-01-12 17:51 |
| 初级用户 发帖 26 积分 22 | |
|
[請輸入Mklink源文件路徑支持滑鼠拖拽]"D:\Users\i - Copy\bin"
[請輸入Link目標文件路徑支持滑鼠拖拽]"D:\Users\i - Copy\New folder"\ff如果這裡有時候要手工輸入而不使用截取的bin怎麼實現 The system cannot find the path specified. Press any key to continue . . . |
|
| 第26楼 000000000000000 | 发表于 2010-01-12 17:52 |
| 初级用户 发帖 42 积分 49 | |
Originally posted by iPoint at 2010-1-12 17:51: 为什么不在 时手工输入? |
|
| 第27楼 iPoint | 发表于 2010-01-12 18:04 |
| 初级用户 发帖 26 积分 22 | |
Originally posted by 000000000000000 at 2010-1-12 17:52: 我只是要改鏈接指的名字如果改了源文件中的bin將鏈接到一個不存在的目錄或文件 @echo off set /p src= set /p lnk= set /p m=如果這有輸入我希望實現%FolderPath%=%LNK%%M%的效果 IF還不會用請幫幫忙 set src="%src:"=%" for %%a in (%src%) do set FolderPath="%lnk:"=%\%%~nxa" if exist %src%\ (Mklink /j %FolderPath% %src%) else Mklink %FolderPath% %src% pause |
|
| 第28楼 000000000000000 | 发表于 2010-01-12 18:10 |
| 初级用户 发帖 42 积分 49 | |
|
手工输入的算文件还是目录?
|
|
| 第29楼 iPoint | 发表于 2010-01-12 18:15 |
| 初级用户 发帖 26 积分 22 | |
Originally posted by 000000000000000 at 2010-1-12 18:10: 以源為主源是.TXT文件那麼%M%就是.TXT 如果源是目錄%M%也是目錄 [ Last edited by iPoint on 2010-1-12 at 18:23 ] |
|
| 第30楼 000000000000000 | 发表于 2010-01-12 18:24 |
| 初级用户 发帖 42 积分 49 | |
| 上一页 1 2 3 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |