批处理复制文件夹,并自动重命名

功能要求有点多求教第一步:复制并重命名目标目录:\ABC(该文件夹会存在任何不确定的目录,希望最好以.bat存放的目录来制作,\ABC和.bat在同一目录)1.可以指定复... 功能要求有点多求教第一步:复制并重命名目标目录: \ABC (该文件夹会存在任何不确定的目录,希望最好以 .bat存放的目录来制作,\ABC和 .bat在同一目录)1. 可以指定复制次数例如 输入52.复制 \ABC 为指定的名称“XYZ 01”并放在同一目录3.复制 \ABC 为指定的名称“XYZ 02”并放在同一目录4.复制 \ABC 为指定的名称“XYZ 03”并放在同一目录5.复制 \ABC 为指定的名称“XYZ 04”并放在同一目录..........复制的目录 前缀“XYZ”要可以指定,前缀后面空格+俩位数字累计类推第二步骤: 这个不奢望了 大神能提供方法建议的当然最好1. 建立 所有 XYZ xx目录下 “terminal.exe”的快捷方式并命名为 对应的 xx 后缀数字2. 所有建立的快捷方式 放在和一个指定的文件夹内 如“CDE”文件夹3. 所有建立的快捷方式属性 目标位置 ” 后加入后缀 /portable以上左右操作 都在同一目录下完成 但文件夹会存在任何不确定的目录求教,实在找不到相关符合要求的 展开
 我来答
依梦琴瑶
高粉答主

2017-09-06 · 说的都是干货,快来关注
知道顶级答主
回答量:6.9万
采纳率:82%
帮助的人:1.7亿
展开全部
@echo off & title 批量拷贝目录并创建快捷方式 By 依梦琴瑶
cd /d %~dp0
setlocal enabledelayedexpansion

::设置源文件夹路径
set Src_Dir=ABC

::设置快捷方式存放路径,不存在时会自动创建
set Lnk_Dir=CDE

::设置拷贝后的文件夹前缀名
set Tgt_Dir=XYZ


:InputCount
set /p Count=请输入拷贝次数,回车确认:

if not defined Count (
    goto InputError
) else (
    Call :CheckInput
)

:NextStart
if %Count% lss 0 (
    goto InputError
) else (
    if %Count% gtr 99 (
        goto InputError
    )
)

echo, & call :CreatLnkMakeTool

for %%a in ("%Lnk_Dir%") do (
    if not exist "%%~fa" md "%%~fa"
    set "Lnk_Dir=%%~fa"
)

set /a Count+=100
for /l %%a in (101,1,%Count%) do (
    set "Num=%%~a"
    if not exist "%Tgt_Dir% !Num:~1!\terminal.exe" xcopy /s/e "%Src_Dir%" "%Tgt_Dir% !Num:~1!\" >nul
    cscript /nologo MakeLnk.vbs "%Lnk_Dir%\!Num:~1!.lnk" "%~dp0%Tgt_Dir% !Num:~1!\terminal.exe" "%~dp0%Tgt_Dir% !Num:~1!" "!Num:~1!.lnk"
)
del /f /q MakeLnk.vbs
echo, & echo 本次处理已完成,请按任意键退出。
pause>nul & exit

:CheckInput
echo %Count%|findstr /c:" " >nul && (
    goto InputError
) || (
    echo %Count%|findstr ^[0-9][0-9]*$ >nul && (
        goto NextStart
    ) || (
        goto InputError
    )
)
goto :eof

:InputError
echo, & set "Count="
echo 请务必输入不小于 1 不大于 99 的纯数字,且不能为空或有空格。
ping 127.0.0.1 -n "2">nul
cls & goto InputCount

:CreatLnkMakeTool
(echo Set WshShell = WScript.CreateObject^("WScript.Shell"^)
echo Set oShellLink = WshShell.CreateShortcut^(WScript.Arguments^(0^)^)
echo oShellLink.TargetPath = Chr^(34^) ^& WScript.Arguments^(1^) ^& Chr^(34^)
echo oShellLink.Arguments = "/portable"
echo oShellLink.WorkingDirectory = WScript.Arguments^(2^)
echo oShellLink.Save
echo WScript.Echo "快捷方式 " ^& WScript.Arguments^(3^) ^& " 已创建。")>MakeLnk.vbs
goto :eof


你的奢望,怎么能让你失望呢?所以这样的奢望还是可以成真的。

zhyyy3765
2017-09-06 · TA获得超过619个赞
知道小有建树答主
回答量:1306
采纳率:38%
帮助的人:387万
展开全部
下个软件
追问
什么软件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式