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

功能要求有点多求教第一步:复制并重命名目标目录: \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以上左右操作 都在同一目录下完成 但文件夹会存在任何不确定的目录求教,实在找不到相关符合要求的

@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


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

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-09-06
下个软件追问

什么软件

批处理复制文件至指定文件夹,并自动重命名。
1、建立一个新文件夹,将所有学生作业文件夹对象复制一份放入其中。2、开始→运行,输入cmd,打开CMD窗口。3、在CMD窗口中,切换当前盘到目标文件夹所在盘,并切换当前文件夹到目标文件夹。4、在CMD窗口中,用dir命令查询所有符合条件的文件夹,并将显示结果重定向输出到当前文件下的rename.txt中。注意d...

批处理复制文件至指定文件夹并自动重命名
echo 文件复制及重命名完成。pause ```此脚本首先定义了两个变量`sourceDir`和`destDir`,分别指向源文件夹和目标文件夹的路径。使用`if not exist`语句检查目标文件夹是否存在,如果不存在则创建之。然后,通过一个`for`循环遍历源文件夹中的所有文件。在循环内部,使用`set`命令和变量扩展来构建新的...

...然后复制某指定文件到该文件夹下并自动重命名此文件名为该文件夹...
echo off & title 拷贝指定文件到指定目录中,并重命名为该文件夹名 By 依梦琴瑶 ::预设指定文件 set File=E:\\1.txt if \/i "%~1"=="" (echo 请不要直接双击运行此脚本,而是拖动文件夹到此脚本文件图标上。set Sec=4 goto End )dir \/ad "%~1" >nul 2>nul || (echo 请拖动文件...

批处理 批量复制,遇到同名文件自动重命名。
if exist "%d%\\%%~nxi" for \/f %%j in ('dir\/b "%d%\\%%~nxi"^|find \/c \/v ""') do set \/a n=%%j+1 if !n!==1 (copy "%%i" "%d%\\%%~nxi") else copy "%%i" "%d%\\%%~ni_!n!%%~xi"))批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批...

...文件(包含子文件夹)到新指定文件夹,并自动重命名。
回答:pushd f:\\test\\if not exist 合并 md 合并xcopy \/e 缩略图 合并for \/f "delims=" %%a in ('dir \/a-d \/b \/s 斜面图\\黑色') do (copy "%%a" "合并\\%%~na黑%%~xa")for \/f "delims=" %%a in ('dir \/a-d \/b \/s 斜面图\\透明') do (copy "%%a" "合并\\%%~na透...

批处理复制文件夹,并自动重命名
echo off & title 批量拷贝目录并创建快捷方式 By 依梦琴瑶cd \/d %~dp0setlocal enabledelayedexpansion::设置源文件夹路径set Src_Dir=ABC::设置快捷方式存放路径,不存在时会自动创建set Lnk_Dir=CDE::设置拷贝后的文件夹前缀名set Tgt_Dir=XYZ:InputCountset \/p Count=请输入拷贝次数,回车确认...

批量复制相同文件名的文件到一个文件夹里面自动重命名
用批处理 echo off&setlocal enabledelayedexpansion&for \/f "delims="a in ('dir \/s\/b .*')do set\/a a+=1&echo f|xcopy \/e \/y "%%a""D:\\new(!a!).*"这是当前文件夹(包括子文件夹)复制到D盘下,重命名为new(数字).后缀 复制到哪里你可以自己修改一下路径!那个"!a!"你可以不用...

通过批处理文件 批量复制并重命名文件
用批处理 echo off&setlocal enabledelayedexpansion&for \/f "delims=" %%a in ('dir \/s\/b *.*')do set\/a a+=1&echo f|xcopy \/e \/y "%%a" "D:\\new(!a!).*"这是当前文件夹(包括子文件夹)复制到D盘下,重命名为new(数字).后缀 复制到哪里你可以自己修改一下路径!那个"!a!"你...

批处理bat ,复制多个文件时处理重名文件
"DT=%DT:\/=%"set "DT=%DT:-=%"set "DT=%DT::=%"set "DT=%DT:.=%"copy "%~1" "%SavDir%\\%~n1_%DT%%~x1"goto :eof重命名格式为原文件名_年月日时分秒毫秒.后缀名 手机上编写,未进行测试。请在正式执行前找一些不重要的文件进行测试一下,以免代码编写有误导致数据丢失。

如何用批处理移动文件夹或文件并自动重命名?(需要移动的目录已经有同...
\/b') do (set b=%%~xi if not %%~nxi==%~nx0 (if exist %cd%\\a\\%%~nxi (ren "%%i" "new-%%~nxi"&&move new-%%~nxi %目录%) else (move %%i %目录 )))另存为Bat放在要移动的文件夹:移动当前所有文件,除开bat本身到目标目录,如果目标存在此文件,则改名为《new文件名》

相似回答