view src/templateBatchScript.h @ 442:7f49f0e68bca

Extended the created batch/shell script so it is able to indent only one file given as parameter or a whole directory recursively with a defined file suffix. git-svn-id: svn://svn.code.sf.net/p/universalindent/code/trunk@677 59b1889a-e5ac-428c-b0c7-476e01d41282
author thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
date Thu, 15 May 2008 20:21:42 +0000
parents e501511d7338
children 2f7c7f3e4342
line wrap: on
line source

/***************************************************************************
 *   Copyright (C) 2006-2008 by Thomas Schweitzer                          *
 *   thomas-schweitzer(at)arcor.de                                         *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License version 2.0 as   *
 *   published by the Free Software Foundation.                            *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program in the file LICENSE.GPL; if not, write to the *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/

#ifndef TEMPLATEBATCHSCRIPT_H
#define TEMPLATEBATCHSCRIPT_H

static const char* templateBatchScript =
"@echo off\n"
"\n"
"IF (%1)==() GOTO error\n"
"dir /b /ad %1 >nul 2>nul && GOTO indentDir\n"
"IF NOT EXIST %1 GOTO error\n"
"goto indentFile\n"
"\n"
":indentDir\n"
"set searchdir=%1\n"
"\n"
"GOTO assignSuffix\n"
"\n"
":assignDefaultDir\n"
"::echo !!!!DEFAULT DIR!!!\n"
"set searchdir=.\n"
"\n"
":assignSuffix\n"
"IF (%2)==() GOTO assignDefaultSuffix\n"
"set filesuffix=%2\n"
"\n"
"GOTO run\n"
"\n"
":assignDefaultSuffix\n"
"::echo !!!!DEFAULT SUFFIX!!!\n"
"set filesuffix=*\n"
"\n"
":run\n"
"FOR /F \"tokens=*\" %%G IN ('DIR /B /S %searchdir%\\*.%filesuffix%') DO (\n"
    "echo Indenting file \"%%G\"\n"
    "__INDENTERCALLSTRING1__\n"
")\n"
"GOTO ende\n"
"\n"
":indentFile\n"
"echo Indenting one file %1\n"
"__INDENTERCALLSTRING2__\n"
"\n"
"GOTO ende\n"
"\n"
":error\n"
"echo .\n"
"echo ERROR: As parameter given directory or file does not exist!\n"
"echo Syntax is: recurse.bat dirname filesuffix\n"
"echo Syntax is: recurse.bat filename\n"
"echo Example: recurse.bat temp cpp\n"
"echo .\n"
"\n"
":ende\n";

#endif // TEMPLATEBATCHSCRIPT_H

/* Here comes the original batch script without the c++ markup
@echo off

IF (%1)==() GOTO error
dir /b /ad %1 >nul 2>nul && GOTO indentDir
IF NOT EXIST %1 GOTO error
goto indentFile

:indentDir
set searchdir=%1

GOTO assignSuffix

:assignDefaultDir
::echo !!!!DEFAULT DIR!!!
set searchdir=.

:assignSuffix
IF (%2)==() GOTO assignDefaultSuffix
set filesuffix=%2

GOTO run

:assignDefaultSuffix
::echo !!!!DEFAULT SUFFIX!!!
set filesuffix=*

:run
FOR /F "tokens=*" %%G IN ('DIR /B /S %searchdir%\*.%filesuffix%') DO (
    echo Indenting file "%%G"
    ::call call_CSSTidy.bat "%%G"
	"C:/Dokumente und Einstellungen/ts/Eigene Dateien/Visual Studio 2005/Projects/UiGuixy/indenters/csstidy.exe" "%%G" --timestamp=true --allow_html_in_templates=false --compress_colors=true --compress_font=true --lowercase_s=false --preserve_css=false --remove_last_;=false --remove_bslash=true --sort_properties=false --sort_selectors=false  indentoutput.css
    move /Y indentoutput.css "%%G"
)
GOTO ende

:indentFile
echo Indenting one file %1
"C:/Dokumente und Einstellungen/ts/Eigene Dateien/Visual Studio 2005/Projects/UiGuixy/indenters/csstidy.exe" %1 --timestamp=true --allow_html_in_templates=false --compress_colors=true --compress_font=true --lowercase_s=false --preserve_css=false --remove_last_;=false --remove_bslash=true --sort_properties=false --sort_selectors=false  indentoutput.css
move /Y indentoutput.css %1

GOTO ende

:error
echo .
echo ERROR: As parameter given directory or file does not exist!
echo Syntax is: recurse.bat dirname file suffix
echo Syntax is: recurse.bat filename
echo Example: recurse.bat temp cpp
echo .

:ende

*/