我有两个批处理文件。将参数从一个批处理文件传递到另一个批处理文件
首先从\ YEAR \ MONTH \ DATE格式中提取日期并创建文件夹。
@echo off setlocal enabledelayedexpansion :: Extract date fields for /f "tokens=1-4 delims=/-. " %%i in ('date /t') do ( set v1=%%i& set v2=%%j& set v3=%%k if "%%i:~0,1%%" gtr "9" (set v1=%%j& set v2=%%k& set v3=%%l) for /f "skip=1 tokens=2-4 delims=(-)" %%m in ('echo.^|date') do ( set %%m=!v1!& set %%n=!v2!& set %%o=!v3! ))</br> :: Final set for language independency set year=%yy%%aa% set month=%mm% set day=%dd% :: Make Dir set root=f:\ ::Create folder of today's date if exist %root% goto L2 goto L3 :L2 if not exist %root%\%year% md %root%\%year% :L3 if exist %root%\%year%\%month% goto L5 :L4 if not exist %root%\%year%\%month% md %root%\%year%\%month% :L5 md %root%\%year%\%month%\%day% :: Detete folder older than '3' days forfiles /p "%root%%year%\%month%" /s /d -3 /c "cmd /c IF @isdir == TRUE rd /S /Q @path" echo. pause
创建数据库
echo off cls echo -- BACKUP DATABASE -- ::set db name set DATABASENAME='db_name' :: set path and format set BACKUPFILENAME='path\%DATABASENAME%.bak' :: set server name set SERVERNAME='server name' echo. ::backup execution sqlcmd -S %SERVERNAME% -Q "BACKUP DATABASE [%DATABASENAME%] TO DISK = N'%BACKUPFILENAME%' WITH INIT , NOUNLOAD , NAME = N'%DATABASENAME% backup', NOSKIP , STATS = 10, NOFORMAT" echo.
现在我想从第一调用第二个批处理文件,并传递参数,如根,年,月的备份,日期从第一到第二。 我已经单独尝试了两种代码,其工作完美。我如何传递参数。请帮助
谢谢@MC ND。但第二个文件将明白根,年,月,日是什么意思 – vrun
@vrun,我知道我不会说任何新的东西,但批处理文件是程序。你的问题和我的答案是关于数据交换。程序员的任务是编写程序来使用数据或理解它的含义。对不起,我没有足够的信息知道它将如何使用。 –