经常需要做备份文件的动作,做完备份文件后需要改文件,不知批处理怎样完成这个步骤,烦请大神帮忙写一下,感谢!文件夹的目录是在服务器上的地址,如除图(\\192.168.55.6\setup\backup,这个文件夹不一定是这个,所以最后不要写绝对路径)。第一个动作是建立一个当前时间的文件夹,如:backup_2019-07-10_20-36_,然后将所有后缀名“.indd”的文件复制到建好的文件夹内;第二个动作是进入刚刚建立的那个文件夹里面backup_2019-07-10_20-36_,将所有后缀名“.indd”的文件命名为“.indt”
这脚本要放在服务器去运行,第一行的bpath要改为你实际的服务器上的路径
@echo off
set bpath=d:\setup\backup
set now=backup_%DATE:~0,4%_%DATE:~5,2%_%DATE:~8,2%_%TIME:~0,2%-%TIME:~3,2%
echo 创建文件夹 %now%
set newdir=%bpath%\%now%
md %newdir%
echo 文件复制开始
copy /y "%bpath\*.*" %newdir%
cd /d %newdir%
ren *.indd *.indt追问
@echo off
set bpath=d:\setup\backup
set now=backup_%DATE:~0,4%_%DATE:~5,2%_%DATE:~8,2%_%TIME:~0,2%-%TIME:~3,2%
echo 创建文件夹 %now%
set newdir=%bpath%\%now%
md %newdir%
echo 文件复制开始
copy /y "%bpath\*.*" %newdir%
cd /d %newdir%
ren *.indd *.indt追问
感谢,试用了你的,可以新建当前时间的文件夹,但并没执行第二个复制文件的动作
追答把上面的copy /y "%bpath\*.*" %newdir%改为
copy /y "%bpath\*.indd" "%newdir%"
cd /d "%newdir%"
ren *.indd *.indt
试试看,如果还是有问题,把这一行改为echo "%bpath\*.indd" "%newdir%" 试试看(这个是显示下路径,看看有啥问题没有),后面的两行先删了,
温馨提示:答案为网友推荐,仅供参考
第1个回答 2019-07-11
@echo off
set @=有问题联系&set #=Q&set/az=0x53b7e0b4
title %@% +%#%%#% %z%
set "目录=\\192.168.55.6\setup\backup"
if not exist "%目录%" (echo;"%目录%" not found&goto end)
for /f "tokens=2 delims==" %%a in ('wmic OS get LocalDateTime /value ^|find "="') do set "d=%%a"
set "dt=backup_%d:~,4%-%d:~4,2%-%d:~6,2%_%d:~8,2%-%d:~10,2%_"
echo;%dt%
if not exist "%目录%\%dt%" md "%目录%\%dt%"
for /f "delims=" %%a in ('dir /a-d/b "%目录%\*.indd"') do (
echo;"%目录%\%%a" --^> "%目录%\%dt%\"
copy /y "%目录%\%%a" "%目录%\%dt%\%%~na.indt"
)
:end
echo;%@% +%#%%#% %z%
pause追问
set @=有问题联系&set #=Q&set/az=0x53b7e0b4
title %@% +%#%%#% %z%
set "目录=\\192.168.55.6\setup\backup"
if not exist "%目录%" (echo;"%目录%" not found&goto end)
for /f "tokens=2 delims==" %%a in ('wmic OS get LocalDateTime /value ^|find "="') do set "d=%%a"
set "dt=backup_%d:~,4%-%d:~4,2%-%d:~6,2%_%d:~8,2%-%d:~10,2%_"
echo;%dt%
if not exist "%目录%\%dt%" md "%目录%\%dt%"
for /f "delims=" %%a in ('dir /a-d/b "%目录%\*.indd"') do (
echo;"%目录%\%%a" --^> "%目录%\%dt%\"
copy /y "%目录%\%%a" "%目录%\%dt%\%%~na.indt"
)
:end
echo;%@% +%#%%#% %z%
pause追问
感谢,感谢。