找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29658|回复: 11

[文本处理] 两个bat文件合并为一个批处理,怎么合?

[复制链接]
发表于 2015-9-5 08:17:45 | 显示全部楼层 |阅读模式
  1. @echo off
  2. echo.
  3. set "w=e:\移除.bat"
  4. set "spath=e:\外勤"
  5. set "bakpath=d:\备份\外勤"
  6. set /a "y=%date:~,4%,m=1%date:~5,2%-2"
  7. if %m% lss 101 set /a y-=1,m+=12
  8. if exist "%spath%\%y%\%m:~-2%" (
  9. call %w%      
  10. ) else echo %y%年%m:~-2%已移除,退出!
  11. echo.  
  12. pause
复制代码
  1. @echo off&setlocal EnableDelayedExpansion
  2. chcp 437>nul&graftabl 936>nul
  3. echo hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com
  4. echo.

  5. set /p pw=请输入密码: <nul
  6. for /f "tokens=*" %%i in ('in.com') do set pw=%%i
  7. del in.com
  8. if not "%pw%"=="jyzr" (
  9.     echo.
  10.     echo.
  11.     echo 密码错误^^!
  12.     pause>nul&exit
  13. )
  14. echo.
  15. echo.
  16. set "spath=e:\外勤"
  17. set "bakpath=d:\备份\外勤"
  18. set /a "y=%date:~,4%,m=1%date:~5,2%-2"
  19. if %m% lss 101 set /a y-=1,m+=12
  20. if exist "%spath%\%y%\%m:~-2%" (
  21. rd /q /s %bakpath%&md %bakpath%
  22. echo.
  23. xcopy /e /y "%spath%\%y%\%m:~-2%\*.*" "%bakpath%\%y%\%m:~-2%"
  24. echo.
  25. rd /q /s "%spath%\%y%\%m:~-2%"
  26. )
  27. )
  28. echo.
  29. echo %y%年%m:~-2%月份,备份完毕!
  30. pause & exit /b
复制代码
发表于 2015-9-5 12:08:44 | 显示全部楼层
单纯合并用COPY /B /Y 文件1+文件2 文件3
 楼主| 发表于 2015-9-5 12:31:11 | 显示全部楼层
回复 2# 路过
请问老师,怎么修改?
发表于 2015-9-5 12:38:17 | 显示全部楼层
把第二个代码的最后一行删掉
把第一个代码放到第二个代码最后
 楼主| 发表于 2015-9-5 12:54:02 | 显示全部楼层

【未解决】 两个bat文件合并为一个批处理,怎么合?

【未解决】回复 4# DAIC
老师好!我是先执行第一个代码来,判断文件目录是否存在?文件目录存在时,执行第二个代码,否则退出。按老师指点的测试,文件目录不存在时,仍然要执行执行第二个代码。
发表于 2015-9-5 12:56:15 | 显示全部楼层
回复 5# 7016427


    为啥顶楼不说清楚呢?
发表于 2015-9-5 12:59:42 | 显示全部楼层
以下所有代码保存为test.bat


@echo off
echo.
REM set "w=e:\移除.bat"
set "spath=e:\外勤"
set "bakpath=d:\备份\外勤"
set /a "y=%date:~,4%,m=1%date:~5,2%-2"
if %m% lss 101 set /a y-=1,m+=12
if exist "%spath%\%y%\%m:~-2%\" (
call :YiChu
) else echo %y%年%m:~-2%已移除,退出!
echo.
pause

:YiChu
@echo off&setlocal EnableDelayedExpansion
chcp 437>nul&graftabl 936>nul
echo hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com
echo.

set /p pw=请输入密码: <nul
for /f "tokens=*" %%i in ('in.com') do set pw=%%i
del in.com
if not "%pw%"=="jyzr" (
    echo.
    echo.
    echo 密码错误^^!
    pause>nul&exit
)
echo.
echo.
set "spath=e:\外勤"
set "bakpath=d:\备份\外勤"
set /a "y=%date:~,4%,m=1%date:~5,2%-2"
if %m% lss 101 set /a y-=1,m+=12
if exist "%spath%\%y%\%m:~-2%\" (
rd /q /s %bakpath%&md %bakpath%
echo.
xcopy /e /y "%spath%\%y%\%m:~-2%\*.*" "%bakpath%\%y%\%m:~-2%\"
echo.
rd /q /s "%spath%\%y%\%m:~-2%\"
)
)
echo.
echo %y%年%m:~-2%月份,备份完毕!
pause & exit /b
 楼主| 发表于 2015-9-5 13:35:12 | 显示全部楼层

[未完全解决] 两个bat文件合并为一个批处理,怎么合?

[未完全解决]回复 7# DAIC
就是结束时,要按任一键几次,才关闭!能否帮我优化代码?
发表于 2015-9-5 13:51:27 | 显示全部楼层
回复 8# 7016427


真服了,一个四级士官,发帖近两百,还都是这一年发的,结果丝毫批处理基础都没得。(⊙﹏⊙)b
发表于 2015-9-5 13:51:49 | 显示全部楼层
回复 8# 7016427


    把 pause 删掉
 楼主| 发表于 2015-9-5 20:47:52 | 显示全部楼层

【已经解决!】 两个bat文件合并为一个批处理,怎么合?

回复 10# DAIC
【已经解决!】回复 10# DAIC
@echo off
echo.
set "spath=e:\外勤"
set "bakpath=d:\备份\外勤"
set /a "y=%date:~,4%,m=1%date:~5,2%-2"
if %m% lss 101 set /a y-=1,m+=12
if not exist "%spath%\%y%\%m:~-2%\" (echo %y%年%m:~-2%月,已备份!
echo.
pause>nul&exit
)
@echo off&setlocal EnableDelayedExpansion
chcp 437>nul&graftabl 936>nul
echo hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com
echo.
set /p pw=请输入密码: <nul
for /f "tokens=*" %%i in ('in.com') do set pw=%%i
del in.com
if not "%pw%"=="jyzr" (
echo 密码错误 ^^!
pause>nul&exit
)
echo.
  ) else (
rd /q /s %bakpath%&md %bakpath%
xcopy /e /y "%spath%\%y%\%m:~-2%\*.*" "%bakpath%\%y%\%m:~-2%\"
echo.
rd /q /s "%spath%\%y%\%m:~-2%\"
  )
echo.
echo %y%年%m:~-2%月%,执行完毕^^!
echo.
pause&exit /b
发表于 2015-9-6 09:46:11 | 显示全部楼层
回复 11# 7016427


是谁给你出的主意让你每次回帖都写一遍未解决、已解决?
问题解决之后,编辑顶楼的帖子注明[已解决]就行了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 16:28 , Processed in 0.016505 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表