Need to catch the exit code, handle the Error based on the exit code.
Use %ErrorLevel% – Almost all applications will set an exit code when complete (by conversion, 0 means successful).
Example 1:
copy file1.txt file3.txt
ECHO ...%ErrorLevel%
copy fileNotExisting.txt f.txt
ECHO %ErrorLevel%
Output:
“1 file(s) copied”
0
“The system cannot find the file specified.”
1
Example 2:
SET SSIS_EXIT_CODE=%ErrorLevel%
copy "%PKG_PATH%\Logs\….dtsx.log" ..
IF %SSIS_EXIT_CODE% NEQ 0 (
EXIT /B %SSIS_EXIT_CODE%
)
Links:
http://ss64.com/nt/errorlevel.html
http://ss64.com/nt/exit.html
How to check the exit code of the last command in batch file?
Append additional header/footer to the destination flat file:
Header/Footer can be added by several ways in SSIS, here is 3 ways I’m using:
-- Header
Select 'START' + convert(varchar(8),GETDATE(), 112)
-- Body
Union All
Select FULLNAME
from OVERSEA_ADDRESS
WHERE POSTAL_CODE = ''
-- Footer
Union All
Select 'END'+ Convert(varchar(8), Count(*))
from TWO_FA_OVERSEA_ADDRESS
WHERE POSTAL_CODE = ''
But sometimes the requirement is more complex, then we need to use Script task.
We can read/write file using VB or C#, and we can get the variables/paremeters, so basically, we can handle most of the requirement by Script task.
Reading file using VB:
Dim objReader As New System.IO.StreamReader(FILE_NAME)
' Read each line, and append the text into textLines
Dim currentLine As String
Do While objReader.Peek() <> –1
currentLine = objReader.ReadLine()
textLines.Add(currentLine)
Loop
Writing to file
' For loop the textLines
Dim index As Integer
For index = 0 To textLines.Count – 1
Dim text As String = textLines.Item(index).ToString
outStreamWriter.Write(text & vbNewLine)
Next outStreamWriter.Close()
Generate the header, body, foot file and use CMD to combine the files:
copy header.txt+body.txt+footer.txt output.txt /y
Command: dir/s/b > list.txt
Output:
D:\PatchScriptsForAppTest\35315_deltas.xnr D:\PatchScriptsForAppTest\35338_Part1_Translations.xnr D:\PatchScriptsForAppTest\35338_part2_XeAppMenus.xnr D:\PatchScriptsForAppTest\35345_Translations_IN_OUT.xnr
More info: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/dir.mspx?
Backup database:
> (sudo) mysqldump db-name > db-backup.sql
Restore database:
> (sudo) mysql db-name (--no-date)(no-create-info) < db-backup.sql
Variable |
Sample Typical Value |
%SystemDrive% |
C: |
%SystemRoot% |
C:\WINNT |
%WinDir% |
C:\WINNT |
%SystemDirectory% |
C:\WINNT\System32 |
%ComSpec% |
C:\WINNT\system32\cmd.exe |
%programfiles% |
C:\WINNT\Program Files |
%Temp% |
C:\DOCUME~1\Usr\LOCALS~1\Temp from |
%Tmp% |
|
%HOMEDRIVE% |
C: The drive letter associated with the user’s home directory |
%HOMEPATH% |
The path to the user’s home directory (excluding drive): |
%OS% |
Windows_NT (even on Windows XP machines |
%USERDOMAIN% |
The name of the domain that contains the user’s account |
%USERNAME% |
The user’s name |
%USERPROFILE% |
The user’s desktop folder |
%CD% |
The current directory. |
%DATE% |
Current date in the format set by the Date command |
%TIME% |
Current time in the format set by the Time command |
%ERRORLEVEL% |
A number defining exit status of a previous command or called executable |
%RANDOM% |
A random number between 0 and 32767. |
// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.