User Tools

Site Tools


code_snippets

This is an old revision of the document!


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.
code_snippets.1231893980.txt.gz · Last modified: 2017/01/01 19:48 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki