code_snippets
This is an old revision of the document!
Table of Contents
General
Newlines
C# = Environment.Newline
VB = vbNewline
C#
I/O
Read Entire File into a String
…in one easy step.
String wholeFile = File.ReadAllText(@"C:\Temp.txt");
Filename to StreamReader
…in one easy step.
StreamReader sr = File.OpenText(@"C:\Temp.txt");
VB
Dump the Session Variable
' Dump the session variable Dim file As New System.IO.StreamWriter("c:\temp\Session Dump.txt", True) Try Dim i As Integer Dim key, type As String file.WriteLine("****************** " + Now().ToShortDateString() + " " + Now().ToShortTimeString() + " ******************") For i = 0 To Session.Keys.Count - 1 key = Session.Keys.Item(i) If Session.Item(i) Is Nothing Then type = "(Null)" Else type = Session.Item(i).GetType().ToString() End If If type.StartsWith("System.String") Or type.StartsWith("System.Int") Or type.StartsWith("System.Boolean") Then file.WriteLine("Session(""" + key + """) as " + type + " : " + CType(Session.Item(i), String)) Else file.WriteLine("Session(""" + key + """) as " + type) End If Next Finally file.Close() End Try
Comments
Change Note
''' <ChangeNote> ''' <ChangeNo>CR302610</ChangeNo> ''' <Author>Stephen Heise</Author> ''' <ChangeDate>2008-09-03</ChangeDate> ''' <Description> ''' TBA ''' </Description> ''' </ChangeNote>
Method Header
''' <summary> ''' ''' </summary> ''' <param name="page"></param> ''' <returns></returns> ''' </CreationNote> ''' <ChangeNo>CR302610</ChangeNo> ''' <Author>Stephen Heise</Author> ''' <ChangeDate>2008-09-04</ChangeDate> ''' <Notes>Created to replace existing GetDirectReports method.</Notes> ''' </CreationNote>
SQL
Fix Orphaned User
sp_change_users_login 'auto_fix', 'UserName'
For example:
sp_change_users_login 'auto_fix', 'WebAppsSQLWebUser'
Regular Expressions
Notepad++
Searching for Email Addresses
[A-Za-z\-]+\.[A-Za-z\-]+@ccc\.govt\.nz
MS-DOS Batch File
General Backup Script
Cygwin
REM This script requires Cygwin to work. @ECHO OFF SET source=C:\External Drives\USB Key - Kissing Frogs\KissingFrogs.co.nz\Test\V5 SET backupDir=C:\Backups\KissingFrogs.co.nz if not exist "%source%" goto :done zip -r "%backupDir%\backup_temp.zip" "%source%" if not exist "%backupDir%\backup01.zip" goto :roll_done zipinfo -v "%backupDir%\backup01.zip" | tail +2 > "%backupDir%\backup01.txt" zipinfo -v "%backupDir%\backup_temp.zip" | tail +2 > "%backupDir%\backup_temp.txt" diff -q "%backupDir%\backup01.txt" "%backupDir%\backup_temp.txt" IF ERRORLEVEL 1 GOTO :differences_exist REM No differences found, so just clean up. rm "%backupDir%\backup01.txt" "%backupDir%\backup_temp.zip" "%backupDir%\backup_temp.txt" GOTO :done :differences_exist rm "%backupDir%\backup01.txt" "%backupDir%\backup_temp.txt" :roll_start rm "%backupDir%\backup50.zip" mv "%backupDir%\backup49.zip" "%backupDir%\backup50.zip" mv "%backupDir%\backup48.zip" "%backupDir%\backup49.zip" mv "%backupDir%\backup47.zip" "%backupDir%\backup48.zip" mv "%backupDir%\backup46.zip" "%backupDir%\backup47.zip" mv "%backupDir%\backup45.zip" "%backupDir%\backup46.zip" mv "%backupDir%\backup44.zip" "%backupDir%\backup45.zip" mv "%backupDir%\backup43.zip" "%backupDir%\backup44.zip" mv "%backupDir%\backup42.zip" "%backupDir%\backup43.zip" mv "%backupDir%\backup41.zip" "%backupDir%\backup42.zip" mv "%backupDir%\backup40.zip" "%backupDir%\backup41.zip" mv "%backupDir%\backup39.zip" "%backupDir%\backup40.zip" mv "%backupDir%\backup38.zip" "%backupDir%\backup39.zip" mv "%backupDir%\backup37.zip" "%backupDir%\backup38.zip" mv "%backupDir%\backup36.zip" "%backupDir%\backup37.zip" mv "%backupDir%\backup35.zip" "%backupDir%\backup36.zip" mv "%backupDir%\backup34.zip" "%backupDir%\backup35.zip" mv "%backupDir%\backup33.zip" "%backupDir%\backup34.zip" mv "%backupDir%\backup32.zip" "%backupDir%\backup33.zip" mv "%backupDir%\backup31.zip" "%backupDir%\backup32.zip" mv "%backupDir%\backup30.zip" "%backupDir%\backup31.zip" mv "%backupDir%\backup29.zip" "%backupDir%\backup30.zip" mv "%backupDir%\backup28.zip" "%backupDir%\backup29.zip" mv "%backupDir%\backup27.zip" "%backupDir%\backup28.zip" mv "%backupDir%\backup26.zip" "%backupDir%\backup27.zip" mv "%backupDir%\backup25.zip" "%backupDir%\backup26.zip" mv "%backupDir%\backup24.zip" "%backupDir%\backup25.zip" mv "%backupDir%\backup23.zip" "%backupDir%\backup24.zip" mv "%backupDir%\backup22.zip" "%backupDir%\backup23.zip" mv "%backupDir%\backup21.zip" "%backupDir%\backup22.zip" mv "%backupDir%\backup20.zip" "%backupDir%\backup21.zip" mv "%backupDir%\backup19.zip" "%backupDir%\backup20.zip" mv "%backupDir%\backup18.zip" "%backupDir%\backup19.zip" mv "%backupDir%\backup17.zip" "%backupDir%\backup18.zip" mv "%backupDir%\backup16.zip" "%backupDir%\backup17.zip" mv "%backupDir%\backup15.zip" "%backupDir%\backup16.zip" mv "%backupDir%\backup14.zip" "%backupDir%\backup15.zip" mv "%backupDir%\backup13.zip" "%backupDir%\backup14.zip" mv "%backupDir%\backup12.zip" "%backupDir%\backup13.zip" mv "%backupDir%\backup11.zip" "%backupDir%\backup12.zip" mv "%backupDir%\backup10.zip" "%backupDir%\backup11.zip" mv "%backupDir%\backup09.zip" "%backupDir%\backup10.zip" mv "%backupDir%\backup08.zip" "%backupDir%\backup09.zip" mv "%backupDir%\backup07.zip" "%backupDir%\backup08.zip" mv "%backupDir%\backup06.zip" "%backupDir%\backup07.zip" mv "%backupDir%\backup05.zip" "%backupDir%\backup06.zip" mv "%backupDir%\backup04.zip" "%backupDir%\backup05.zip" mv "%backupDir%\backup03.zip" "%backupDir%\backup04.zip" mv "%backupDir%\backup02.zip" "%backupDir%\backup03.zip" mv "%backupDir%\backup01.zip" "%backupDir%\backup02.zip" :roll_done mv "%backupDir%\backup_temp.zip" "%backupDir%\backup01.zip" :done
7-Zip
@echo off rem Usage: rem rem Backup.bat TargetName TargetDir ContentType Frequency HaltOnTargetDirError rem rem ContentType = 'CS' or 'Batch' rem Frequency = 'Hourly', 'Daily' or 'Weekly' rem HaltOnTargetDirError = 'True' or 'False' rem rem Example: rem rem Backup.bat DevLocal C:\DevLocal CS Daily True rem rem NOTE: Do NOT put double quotes in the argments - it won't work. If the directory has a space, use 8.3 formatted names: rem rem Backup.bat FooBar z:\mydocu~1\visual~1\FooBar CS Hourly rem set CSFlags=-x!*.dll -x!*.zip -x!*.pdf -x!*.pdb -x!*.exe set BatchFlags= set CSSearch=* set BatchSearch=*.bat if [%1]==[] goto ErrorInCommandLineOptions if [%2]==[] goto ErrorInCommandLineOptions if [%3]==[] goto ErrorInCommandLineOptions if [%4]==[] goto ErrorInCommandLineOptions if [%5]==[] goto ErrorInCommandLineOptions set TargetName=%1 set TargetDir=%2 set ContentType=%3 set Frequency=%4 set HaltOnTargetDirError=%5 set BackupDir=C:\Backups\%TargetName% :CheckHaltOnTargetDirError if "%HaltOnTargetDirError%"=="True" goto CheckTargetDir if "%HaltOnTargetDirError%"=="False" goto CheckTargetDir echo ERROR: The HaltOnTargetDirError must be 'True' or 'False'. echo. goto ErrorInCommandLineOptions :CheckTargetDir if exist "%TargetDir%" goto CheckBackupDir echo ERROR: The target directory (%TargetDir%) does not exist or can not be accessed. if "%HaltOnTargetDirError%"=="False" goto Done pause goto Done :CheckBackupDir if exist "%BackupDir%" goto CheckContentType echo ERROR: The backup directory (%BackupDir%) does not exist or can not be accessed. pause goto Done :CheckContentType if "%ContentType%"=="CS" goto ContentTypeIsCS if "%ContentType%"=="Batch" goto ContentTypeIsBatch echo ERROR: The content type must be 'CS' or 'Batch'. echo. goto ErrorInCommandLineOptions :ContentTypeIsCS set Flags=%CSFlags% set Search=%CSSearch% goto CheckFrequency :ContentTypeIsBatch set Flags=%BatchFlags% set Search=%BatchSearch% goto CheckFrequency :CheckFrequency if "%Frequency%"=="Hourly" goto FrequencyIsHourly if "%Frequency%"=="Daily" goto FrequencyIsDaily if "%Frequency%"=="Weekly" goto FrequencyIsWeekly echo ERROR: The frequency must be 'Hourly', 'Daily' or 'Weekly'. echo. goto ErrorInCommandLineOptions :FrequencyIsHourly set CreateBackupCommand=7z u -r %Flags% "%BackupDir%\Daily_Backup_01.7z" -u- -up0q0x2y2z0w2!"%BackupDir%\%Frequency%_Backup_Temp.7z" "%TargetDir%\%Search%" goto CheckDailyBackup :FrequencyIsDaily set CreateBackupCommand=7z a -r %Flags% "%BackupDir%\%Frequency%_Backup_Temp.7z" "%TargetDir%\%Search%" goto CreateBackup :FrequencyIsWeekly set CreateBackupCommand=copy "%BackupDir%\Daily_Backup_01.7z" "%BackupDir%\%Frequency%_Backup_Temp.7z" goto CheckDailyBackup :CheckDailyBackup if exist "%BackupDir%\Daily_Backup_01.7z" goto CreateBackup echo ERROR: The daily backup ("%BackupDir%\Daily_Backup_01.7z") does not exist or can not be accessed. pause goto Done :CreateBackup %CreateBackupCommand% if not exist "%BackupDir%\%Frequency%_Backup_01.7z" goto RollDone rem Determine if there is any differences between the current backup and the previous backup. rem 7Zip includes the name of the file in the content list, so we need to make sure the filename is the same for each backup. We only want to know if the *contents* are different. rem If DOS had a more functional 'tail' command we wouldn't need to do this... rename "%BackupDir%\%Frequency%_Backup_Temp.7z" "%Frequency%_Compare.7z" 7z l -slt "%BackupDir%\%Frequency%_Compare.7z" > "%BackupDir%\%Frequency%_Backup_Temp_Contents.txt" rename "%BackupDir%\%Frequency%_Compare.7z" "%Frequency%_Backup_Temp.7z" rename "%BackupDir%\%Frequency%_Backup_01.7z" "%Frequency%_Compare.7z" 7z l -slt "%BackupDir%\%Frequency%_Compare.7z" > "%BackupDir%\%Frequency%_Backup_01_Contents.txt" rename "%BackupDir%\%Frequency%_Compare.7z" "%Frequency%_Backup_01.7z" fc "%BackupDir%\%Frequency%_Backup_Temp_Contents.txt" "%BackupDir%\%Frequency%_Backup_01_Contents.txt" IF ERRORLEVEL 1 GOTO :DifferencesExist ECHO No differences found - throwing the backup away. REM No differences found, so just clean up. del "%BackupDir%\%Frequency%_Backup_01_Contents.txt" del "%BackupDir%\%Frequency%_Backup_Temp_Contents.txt" del "%BackupDir%\%Frequency%_Backup_Temp.7z" GOTO :done :DifferencesExist ECHO Differences found - storing the backup. del "%BackupDir%\%Frequency%_Backup_01_Contents.txt" del "%BackupDir%\%Frequency%_Backup_Temp_Contents.txt" :RollExistingBackups del "%BackupDir%\%Frequency%_Backup_20.7z" rename "%BackupDir%\%Frequency%_Backup_19.7z" "%Frequency%_Backup_20.7z" rename "%BackupDir%\%Frequency%_Backup_18.7z" "%Frequency%_Backup_19.7z" rename "%BackupDir%\%Frequency%_Backup_17.7z" "%Frequency%_Backup_18.7z" rename "%BackupDir%\%Frequency%_Backup_16.7z" "%Frequency%_Backup_17.7z" rename "%BackupDir%\%Frequency%_Backup_15.7z" "%Frequency%_Backup_16.7z" rename "%BackupDir%\%Frequency%_Backup_14.7z" "%Frequency%_Backup_15.7z" rename "%BackupDir%\%Frequency%_Backup_13.7z" "%Frequency%_Backup_14.7z" rename "%BackupDir%\%Frequency%_Backup_12.7z" "%Frequency%_Backup_13.7z" rename "%BackupDir%\%Frequency%_Backup_11.7z" "%Frequency%_Backup_12.7z" rename "%BackupDir%\%Frequency%_Backup_10.7z" "%Frequency%_Backup_11.7z" rename "%BackupDir%\%Frequency%_Backup_09.7z" "%Frequency%_Backup_10.7z" rename "%BackupDir%\%Frequency%_Backup_08.7z" "%Frequency%_Backup_09.7z" rename "%BackupDir%\%Frequency%_Backup_07.7z" "%Frequency%_Backup_08.7z" rename "%BackupDir%\%Frequency%_Backup_06.7z" "%Frequency%_Backup_07.7z" rename "%BackupDir%\%Frequency%_Backup_05.7z" "%Frequency%_Backup_06.7z" rename "%BackupDir%\%Frequency%_Backup_04.7z" "%Frequency%_Backup_05.7z" rename "%BackupDir%\%Frequency%_Backup_03.7z" "%Frequency%_Backup_04.7z" rename "%BackupDir%\%Frequency%_Backup_02.7z" "%Frequency%_Backup_03.7z" rename "%BackupDir%\%Frequency%_Backup_01.7z" "%Frequency%_Backup_02.7z" :RollDone rename "%BackupDir%\%Frequency%_Backup_Temp.7z" "%Frequency%_Backup_01.7z" goto :Done :ErrorInCommandLineOptions echo Error in command line arguments. echo. echo Usage: echo. echo Backup.bat TargetName TargetDir ContentType Frequency HaltOnTargetDirError echo. echo ContentType = 'CS' or 'Batch' echo Frequency = 'Hourly', 'Daily' or 'Weekly' echo HaltOnTargetDirError = 'True' or 'False' echo. echo Example: echo. echo Backup.bat DevLocal C:\DevLocal CS Daily True echo. echo NOTE: Do NOT put double quotes in the argments - it won't work. If the directory has a space, use 8.3 formatted names: echo. echo Backup.bat FooBar z:\mydocu~1\visual~1\FooBar CS Hourly echo. goto :Done :Done echo Done.
Clean Temp Directory
code_snippets.1231728886.txt.gz · Last modified: 2017/01/01 19:48 (external edit)