Store the code below as a bat file, can obtain the number of rows in all the tables and views.--
--
@echo off
set db=Northwind
FOR /F "skip=2" %%G IN ('sqlcmd -E -S localhost -d %db% -Q "set nocount
on; set ansi_warnings off; select TABLE_NAME from
INFORMATION_SCHEMA.TABLES order by table_name;"') DO (
REM echo dump table %%G ..
FOR /F "skip=2" %%X IN ('sqlcmd -E -S localhost -d %db% -Q "set nocount
on; set ansi_nulls on; set ansi_warnings on; select count(*) from
%%G;" -s "," -W') DO (
echo [%%G]: %%X
)
)
Showing posts with label DOS. Show all posts
Showing posts with label DOS. Show all posts
Thursday, March 6, 2014
DOS batch file to dump all tables/views in a MSSQL database
Store the code below as a bat file: dump_csv.bat.
--
@ECHO OFF
REM This script dumps all tables in the given database in CSV format.
REM Author: X.C. 3/6/2014
CLS
set db=Northwind
set mode=%1
IF NOT "%mode%" == "all" set mode=test
echo -----------------------------------------------------------------
echo This script dumps all tables in the given database in CSV format.
echo Author: X.C. 3/6/2014
echo.
echo Usage: dump_csv.bat [mode]
echo If mode = all, the entire tables are dumped.
echo If mode = test, only first row of each table is dumped.
echo -----------------------------------------------------------------
echo.
echo Mode: %mode%
echo Database: %db%
echo.
echo ==Tables to dump==
FOR /F "skip=2" %%G IN ('sqlcmd -E -S localhost -d %db% -Q "set nocount on; set ansi_warnings off; select TABLE_NAME from INFORMATION_SCHEMA.TABLES order by table_name;"') DO Echo %%GG
echo.
choice /m "Do you want to continue "
if errorlevel 2 goto Lexit
echo.
IF "%mode%" == "test" (
FOR /F "skip=2" %%G IN ('sqlcmd -E -S localhost -d %db% -Q "set nocount on; set ansi_nulls on; set ansi_warnings on; select TABLE_NAME from INFORMATION_SCHEMA.TABLES order by table_name;"') DO (
echo dump table %%G ..
sqlcmd -E -S localhost -d %db% -Q "set nocount on; set ansi_warnings off; select top 1 * from %%G;" -o output/%%G.txt -s "," -W
)
)
IF "%mode%" == "all" (
FOR /F "skip=2" %%G IN ('sqlcmd -E -S localhost -d %db% -Q "set nocount on; set ansi_nulls on; set ansi_warnings on; select TABLE_NAME from INFORMATION_SCHEMA.TABLES order by table_name;"') DO (
echo dump table %%G ..
sqlcmd -E -S localhost -d %db% -Q "set nocount on; set ansi_warnings off; select * from %%G;" -o output/%%G.txt -s "," -W
)
)
:Lexit
echo.
pause
REM Note 1: If do "set ansi_nulls off; set ansi_warnings off", then view information cannot be retrieved.
REM Note 2: To obtain table values only, use: where TABLE_TYPE = 'BASE TABLE'
REM To obtain view values only, use: where TABLE_TYPE = 'VIEW'
To dump just one table T_data from a database DB, use:
echo dump table T_data ..
sqlcmd -E -S localhost -d DB -Q "set nocount on; set ansi_warnings off; select * from T_data;" -o output/T_data.txt -s "," -W
To bulk insert data from generated dump files, use the command below. Note the "FIRSTROW" is 1-based and not 0-based. In the dump file, the first row will be column names, the second row is separator line "----", so data starts from the 3rd line.
USE [DB]
GO
BULK INSERT [T_data]
FROM 'C:\\output\\T_data.txt'
WITH
(
FIRSTROW = 3,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '0x0a'
)
GO
--
@ECHO OFF
REM This script dumps all tables in the given database in CSV format.
REM Author: X.C. 3/6/2014
CLS
set db=Northwind
set mode=%1
IF NOT "%mode%" == "all" set mode=test
echo -----------------------------------------------------------------
echo This script dumps all tables in the given database in CSV format.
echo Author: X.C. 3/6/2014
echo.
echo Usage: dump_csv.bat [mode]
echo If mode = all, the entire tables are dumped.
echo If mode = test, only first row of each table is dumped.
echo -----------------------------------------------------------------
echo.
echo Mode: %mode%
echo Database: %db%
echo.
echo ==Tables to dump==
FOR /F "skip=2" %%G IN ('sqlcmd -E -S localhost -d %db% -Q "set nocount on; set ansi_warnings off; select TABLE_NAME from INFORMATION_SCHEMA.TABLES order by table_name;"') DO Echo %%GG
echo.
choice /m "Do you want to continue "
if errorlevel 2 goto Lexit
echo.
IF "%mode%" == "test" (
FOR /F "skip=2" %%G IN ('sqlcmd -E -S localhost -d %db% -Q "set nocount on; set ansi_nulls on; set ansi_warnings on; select TABLE_NAME from INFORMATION_SCHEMA.TABLES order by table_name;"') DO (
echo dump table %%G ..
sqlcmd -E -S localhost -d %db% -Q "set nocount on; set ansi_warnings off; select top 1 * from %%G;" -o output/%%G.txt -s "," -W
)
)
IF "%mode%" == "all" (
FOR /F "skip=2" %%G IN ('sqlcmd -E -S localhost -d %db% -Q "set nocount on; set ansi_nulls on; set ansi_warnings on; select TABLE_NAME from INFORMATION_SCHEMA.TABLES order by table_name;"') DO (
echo dump table %%G ..
sqlcmd -E -S localhost -d %db% -Q "set nocount on; set ansi_warnings off; select * from %%G;" -o output/%%G.txt -s "," -W
)
)
:Lexit
echo.
pause
REM Note 1: If do "set ansi_nulls off; set ansi_warnings off", then view information cannot be retrieved.
REM Note 2: To obtain table values only, use: where TABLE_TYPE = 'BASE TABLE'
REM To obtain view values only, use: where TABLE_TYPE = 'VIEW'
To dump just one table T_data from a database DB, use:
echo dump table T_data ..
sqlcmd -E -S localhost -d DB -Q "set nocount on; set ansi_warnings off; select * from T_data;" -o output/T_data.txt -s "," -W
To bulk insert data from generated dump files, use the command below. Note the "FIRSTROW" is 1-based and not 0-based. In the dump file, the first row will be column names, the second row is separator line "----", so data starts from the 3rd line.
USE [DB]
GO
BULK INSERT [T_data]
FROM 'C:\\output\\T_data.txt'
WITH
(
FIRSTROW = 3,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '0x0a'
)
GO
Tuesday, November 13, 2012
DOS command
[1] Remove a non-empty folder (see Remove a Directory and All Subdirectories):
RMDIR c:\blah /s /q
/s - remove directory when it's not empty.
/q - quiet mode, no prompt for yes/no.
[2] in vbs file, call a dos command, may have error "file not found", adding "CMD /C" before the command will remove the error: objShell.Exec("cmd /C rmdir folder_to_remove /S /Q")
/s - remove directory when it's not empty.
/q - quiet mode, no prompt for yes/no.
[2] in vbs file, call a dos command, may have error "file not found", adding "CMD /C" before the command will remove the error: objShell.Exec("cmd /C rmdir folder_to_remove /S /Q")
Saturday, December 5, 2009
DOS batch file to backup files
Batch file backup_mystuff.bat:
And example mystuff_exclude_list.txt file:
echo off
REM
REM This script backs up files.
REM Files listed in %exclude_list% are excluded.
REM
REM Reference: http://www.ahuka.com/backup/backup3.html
REM By: XC
REM Created on: 12/5/2009
REM Last modified: 12/5/2009
REM
echo.
echo == Back Up Files ==
echo.
REM
REM Use this, and !var! after assignment.
REM Otherwise the input value will be buffered until next execution.
REM
SETLOCAL ENABLEDELAYEDEXPANSION
set "dstDir=mystuff_%date:~10,4%-%date:~4,2%-%date:~7,2%"
set srcDir=D:\wwwroot\mystuff
set exclude_list=mystuff_exclude_list.txt
if EXIST %dstDir% (
(set USRINPUT=)
set /P USRINPUT=Delete existing directory %dstDir% [y/n]:
REM echo Your input was: !USRINPUT!
if "!USRINPUT!" == "y" goto:go_on
if "!USRINPUT!" == "Y" goto:go_on
REM If input is not 'y' or 'Y', exit.
goto:EOF
:go_on
echo Delete existing directory %dstDir%...
rmdir /S /Q %dstDir%
)
echo.Copy files from %srcDir% to %dstDir%, please wait...
echo.
mkdir %str%
xcopy /E /V /Y /Q /EXCLUDE:%exclude_list% %srcDir%\* %dstDir%\.
echo.
And example mystuff_exclude_list.txt file:
D:\wwwroot\mystuff\download
D:\wwwroot\mystuff\aspnet_client
Subscribe to:
Posts (Atom)
Blog Archive
-
▼
2026
(36)
-
▼
June
(19)
- C10K to C10M: from thread-per-connection model to ...
- Benchmark server performance
- Application server for php, python, java, node.js,...
- Application server for C++, Go and Rust
- Nginx as reverse proxy and load balancer
- Infrastructure running: nginx, apache, php, python...
- Flow chart of nginx+apache+uvcorn infrastructure
- Flow chart of apache+uvcorn infrastructure
- Uvicorn and Gunicorn
- What's deadsnakes PPA
- What's the optional lsb-core package
- Codex known logging bug
- Daemonsize a service
- Train text to image model, to generate images of c...
- Train a model based on OpenAI API
- Open port 8080 for WebSocket
- Add websocket support on Bluehost Ubuntu VPS for D...
- Install Claude Code on ubuntu VPS of Bluehost
- Install PostgreSQL on Mac
-
▼
June
(19)