批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[文件操作] 【已解决】如果批量新建指定路径文件夹并生成路径方式用一个命令实现?

本帖最后由 228630386 于 2021-10-20 13:55 编辑

请教如何将批量新建指定路径的文件夹,然后在运行命令的文件夹中批量创建快捷文式,用一个命令完成?
实际路径会很多,分开操作有点麻烦,能否实现每次只更新或者粘贴路径到命令里运行即可,如在2021.10.13文件夹中运行。


路径以下:
D:\任务\原图\李宁\2021.10.13 (10.19)李宁专场 男童 (林先生、陈**) -2
D:\任务\原图\MICHAEL KORS\2021.10.13 (10.19)MICHAEL KORS专场 平面 (林先生) -3
D:\任务\原图\哥伦比亚\2021.10.13 ①(10.19)哥伦比亚男女运动专场 白底 配件 (邓先生) -19
D:\任务\原图\UNDER ARMOUR\2021.10.13 ②(10.16)UNDER ARMOUR专场 白底 鞋子 (陈先生) -2

文件夹名中不能出现通配符 '*'
  1. @echo off & cd /d "%~dp0"
  2. REM 管理员权限
  3. %1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","REM",,"runas",1)(window.close)&exit
  4. REM 创建文件夹快捷方式
  5. for /f "delims=:" %%i in ('findstr /b /n /C:":list" "%~0"') do (
  6. for /f "delims=" %%a in ('more +%%i "%~0"') do (
  7. mkdir "%%~a"
  8. mklink /d "%%~nxa" "%%~a"
  9. echo ---------------
  10. )
  11. )
  12. pause&exit
  13. REM 文件夹列表
  14. :list
  15. D:\任务\原图\李宁\2021.10.13 (10.19)李宁专场 男童 (林先生、陈**) -2
  16. D:\任务\原图\MICHAEL KORS\2021.10.13 (10.19)MICHAEL KORS专场 平面 (林先生) -3
  17. D:\任务\原图\哥伦比亚\2021.10.13 ①(10.19)哥伦比亚男女运动专场 白底 配件 (邓先生) -19
  18. D:\任务\原图\UNDER ARMOUR\2021.10.13 ②(10.16)UNDER ARMOUR专场 白底 鞋子 (陈先生) -2
复制代码

TOP

回复 2# went


非常感谢,文件夹可以自动新建,但快捷方式没有管理者权限,还有其它方法吗?

TOP

回复 3# 228630386


    第三行就是提权,没作用就尝试下右键管理员身份运行

TOP

回复 4# went


    电脑都被限制了,都没有管理员权限的,是否就不能批量建了?

TOP

本帖最后由 went 于 2021-10-15 21:31 编辑

回复 5# 228630386

试试javascript会不会限制
ansi编码, test.js
  1. var list = function(){/*
  2. D:\任务\原图\李宁\2021.10.13 (10.19)李宁专场 男童 (林先生、陈) -2
  3. D:\任务\原图\MICHAEL KORS\2021.10.13 (10.19)MICHAEL KORS专场 平面 (林先生) -3
  4. D:\任务\原图\哥伦比亚\2021.10.13 ①(10.19)哥伦比亚男女运动专场 白底 配件 (邓先生) -19
  5. D:\任务\原图\UNDER ARMOUR\2021.10.13 ②(10.16)UNDER ARMOUR专场 白底 鞋子 (陈先生) -2
  6. */};
  7. var arr = list.toString().split('\r\n').slice(1,-1);
  8. var shell = new ActiveXObject('Wscript.Shell');
  9. for(var index in arr){
  10. //初始化
  11. var dir_path = arr[index];
  12. var lnk_name = dir_path.split('\\').slice(-1)[0] + '.lnk';
  13. //创建文件夹
  14. shell.Run('cmd /c mkdir "' + dir_path + '"',0,true);
  15. //创建快捷方式
  16. var shortcut = shell.CreateShortcut(lnk_name);
  17. shortcut.TargetPath = dir_path;
  18. shortcut.Save();
  19. }
复制代码

TOP

回复 6# went


    也是另存为.bat吗?运行后没有反应,新建文件夹也不行了。

TOP

回复 7# 228630386


    .js

TOP

回复 8# went


    可以了,非常感谢!

TOP

返回列表