2010년 12월 28일 화요일

PhpCGI IIS 사용시 설정변경.

PhpCGI IIS 사용시 설정변경.

C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php448\php.exe']

C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php521\php-cgi.exe']

C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php525nts\php-cgi.exe']
Using FastCGI to Host PHP Applications on IIS 7 : Host Applications on the Microsoft Web Platform : Running PHP Applications on IIS : The Official Microsoft IIS Site

2010년 12월 17일 금요일

[TestLink] 실행결과 가져와서 입력

자동화의 길은 멀고도 험하다.

executions 결과 입력 Php

<?php



# 



$build_id=$_GET['build_id'];



ECHO "Build ID:";



ECHO $_GET['build_id'];



ECHO "<BR>";



 



#2번으로 고정 되서 들어감. 



$tester_id = $_GET['tester_id'];



ECHO "Tester_id:";



ECHO $_GET['tester_id'];



ECHO "<BR>";



 



# 시간



$execution_ts = $_GET['execution_ts'];



ECHO "수행한 시간:";



ECHO $_GET['execution_ts'];



ECHO "<BR>";



 



# 결과



$status = $_GET['status'];



ECHO "결과:";



ECHO $_GET['status'];



ECHO "<BR>";



 



# 제품명



$testplan_id = $_GET['testplan_id'];



ECHO "제품ID:";



ECHO $_GET['testplan_id'];



ECHO "<BR>";



 



#수행한 TC 



$tcversion_id = $_GET['tcversion_id'];



ECHO "수행한 TC ID:";



ECHO $_GET['tcversion_id'];



ECHO "<BR>";



 



#수행한 TC 버전 



$tcversion_number = $_GET['tcversion_number'];



ECHO "수행한 TC Version:";



ECHO $_GET['tcversion_number'];



ECHO "<BR>";



 



# 실행형태



$execution_type = $_GET['execution_type'];



ECHO "실행형태:";



ECHO $_GET['execution_type'];



ECHO "<BR>";



 



#빌드서버에서 보내온 결과값



$notes =  $_GET['notes'];



ECHO "Notes:";



ECHO $_GET['notes'];



ECHO "<BR>";



 



$connect = mysql_connect("localhost","root","1234");



mysql_select_db("testlink",$connect);



 



$sql = "INSERT INTO `testlink`.`executions` (`id`, `build_id`, `tester_id`, `execution_ts`, `status`, `testplan_id`, `tcversion_id`, `tcversion_number`, `platform_id`, `execution_type`, `notes`) VALUES (NULL, '$build_id', '$tester_id', NULL, '$status', '$testplan_id', '$tcversion_id', '$tcversion_number', '0', '2', '$notes')";



 



mysql_query($sql, $connect);



mysql_close($connect);



?>


2010년 12월 13일 월요일

[Tools] Display Setting 변경

Command Line으로 Display의 셋팅을 변경할 수 있도록 해주는 툴.

개인및 교육용으론 무료..

하지만 기업은 유료라는거~($499)

12noon :: Display Changer

2010년 12월 1일 수요일

[Powershell] 버전 정보를 읽어서 출력

 

파일에서 특정문자열을 검색해서  특정문자 앞에 있는 문자를 출력.

$version1=(Get-Command $source_file).FileversionInfo.FileVersion
$version2=$version1.split(" ")[3]

“ “  특정문자열검색


[] 몇번째값

인수1 : 버전읽을 파일 경로

인수2 : 저정할 파일경로



2개의 인수값을 읽어 version.txt 파일로 저장.



2, 0 , 0, 4 일경우 4를 version.txt파일에 저장함.



$source_file = $args[0]
$ver_dir= $args[1]
$verinfo="Version.txt"
$version1=(Get-Command $source_file).FileversionInfo.FileVersion
$version2=$version1.split(" ")[3]
set-content -path $ver_dir\$verinfo -value $version2

파워쉘 파일 줄 수 세기, 문자열 수 세기, 특정 문자 추출하기, powershell awk 기능 (유닉스 awk, grep 기능) :: 네이버 블로그

파워쉘 파일 줄 수 세기, 문자열 수 세기, 특정 문자 추출하기, powershell awk 기능 (유닉스 awk, grep 기능) :: 네이버 블로그

Questions containing 'innosetup' - Stack Overflow

Questions containing 'innosetup' - Stack Overflow

Bat 문법

한파일에 여러 명령을 일괄 처리하기 위한 실행파일 작성방법 및 문법

파일 만들기(***.bat)

[방법]

c:\>copy con ***.bat

CLS

DIR

^Z

기본 명령어

(1) 일반적인 도스명령를 그대로 사용한다.

(2) 배치에만 사용하는 전용 명령가 있다.

  1. REM       
    : 배치파일 속에 달고 싶은 설명, 주석

  2. PAUSE    
    : 배치파일 실행중 일시 멈추게함

  3. ECHO "문자열"
    : 에코명령 다음에 오는 문자열을 화면에 나타낸다.

  4. ECHO ON
    : 이후부터 '명령어'라인을 화면에 보인다.

  5. ECHO OFF
    : 이후 실행되는 명령어 라인을 화면에 나타내지 않는다.

  6. @ECHO OFF 
    : 'ECHO OFF'라는 그 자체까지 보이지 않게 한다.

  7. ECHO
    : 현재 ECHO ON/OFF 상태를 확인한다.

분기 명령어

: 배치파일의 순차적 수행을 필요에 따라 변경할 때 사용한다.

(1) CALL

: 배치파일 실행 중 다른 배치파일을 호출하여 실행시키고 다시 원래의 배치파일로 돌아오게 하는 명령이다.

[문법]

CALL "파일명"

[보기]

c:\>COPY CON file1.bat

DIR C:\ > C:DIRList.TXT

^Z

c:\>COPY CON file2.bat
CALL file1.bat
TYPE C:DIRList.TXT

^Z

[설명]

"file2.bat"을 실행하면 "file1.bat"란 배치파일을 불러(CALL) 실행하여 "DIRList.TXT"파일을 만든 후, 다시 "file2.bat"파일로 돌아와 "DIRList.TXT"파일을 화면에 출력한다.

(2) IF

: 주어진 조건에 따라 명령을 선별적으로 선택, 실행하는 명령이다.

[문법]

  1. IF EXIST [파일이름] [명령]
    : 찾는 파일이 존재하면 명령을 실행하라
  2. IF NOT EXIT [파일이름] [명령]
    : 찾는 파일이 없으면 명령을 실행하라
  3. IF "문자열1" == "문자열2" [명령]
    : "문자열1"과 "문자열2"가 서로 일치하면 명령을 실행하라.
  4. IF NOT "문자열1" == "문자열2" [명령]
    : "문자열1"과 "문자열2"가 서로 불일치하면 명령을 실행하라.
  5. IF ERRORLEVEL [값] [명령]
    : IF명령 바로 앞에서 수행되었던 프로그램이 수행을 마치면서 남긴 종료코드(ExitCode)를 검사하여 지정 값보다 크면 명령을 실행하라는 뜻이다.
  6. IF [NOT] ERRORLEVEL [값] [명령]
    : IF명령 바로 앞에서 수행되었던 프로그램이 수행을 마치면서 남긴 종료코드(ExitCode)를 검사하여 지정 값보다 작으면 명령을 실행하라는 뜻이다.

[보기]

  • IF EXIST *.BAK DEL *.BAK
    : BAK라는 백업파일이 있으면 모두 지워버리라.
  • c:\>COPY CON TEST1.BAT
    @ECHO OFF
    IF "%1" == "A" ECHO TESTING A
    IF NOT "%1" == "A" ECHO IT IS NOT EQUAL.
    ^z
    : c:\>TEST1 A 엔터하면 화면에 "TESTING A"라고 표시한다.
    : c:\>TEST1 C 엔터하면 A와 같지 않으므로 "IT IS NOT EQUAL"라고 표시한다.
  • c:\>COPY CON XY.BAT
    XCOPY %1 A:
    IF NOT ERRORLEEVEL 0 ECHO COPY FAILED !
    IF ERRORLEVEL 0 ECHO SUCCESSFULLY !
    ^Z
    : c:\>XY *.* 엔터하면 성공적 수행여부에 따라  'FAILED !' 또는 'SUCCESSFULLY !' 라는 메시지가 나온다.

(3) GOTO

: 레이블 이름이 있는 행으로 실행 순서를 옮긴다. '레이블(Label)'은 8자이 내로, 레이블 앞에는 콜론(:)을 사용한다.

[문법]

GOTO 레이블

:레이블

[보기]

c:\>COPY CON HWPMV.BAT
@ECHO OFF
IF NOT EXIST *.HWP GOTO FIRST
MOVE /-Y *.HWP C:\HNCDOC
ECHO HWPFILE MOVE DONE !
GOTO END
:FIRST
ECHO *.HWP FILE NOT FOUND !
:END
^Z

[설명]

"HWPMV.BAT"을 실행하면 현재 디렉토리에 있는 모든 HWP 파일을 "c:\HNCDOC" 디렉토리로 옮기고 "HWPFILE MOVE DONE !" 메시지를 화면에 보이고 END 레이블로 와서 배치파일을 종료한다. 옮길 HWP 파일이 없으면 "*.HWP FILE NOT FOUND !" 메시지가 나오고 배치파일을 종료한다.

(4) 변수

: 바꿔 쓸 수 있는 인자(Replaceable Parameter)를 의사변수라 하며, %0 ~ %9(10개)으로 표시한다.

[문법]

c:\>명령어 파일1 파일2   "    "   "   "   "   "          파일9
         %0      %1    %2  %3  %4  %5  %6  %7  %8  %9

[보기]

c:\>COPY CON DIRALL.BAT
DIR %1
pause
DIR %2
pause
type %0
^Z

[설명]

"c:\>DIRALL A: B:" + (엔터) 명령어 DIRALL(.BAT)은 %0, A:은 %1, B:은 %2 에 해당하므로 '작성예1'의 내용 중 %1,%2,%0에 대입하여 명령을 수행한 결과가 화면에 나오게 된다. 즉 화면에는 'DIR A:'과, 'DIR B:'이 차례로 출력되고 멈췄다가 'DIRALL.BAT' 파일 내용이 출력된다.

(5) 기타변수

[보기]

c:\dev\walp>test.bat
~dps0: C:\dev\walp\
~dp0: C:\dev\walp\
~s0: C:\dev\walp\test.bat
~0: test.bat
~dps0\..: C:\dev\walp\\..
~dps0..: C:\dev\walp\..

(6) SHIFT

: 쉬프트는 옮김, 변위를 의미하는 데 10개 이상의 대체 인자도 사용 가능하다. 대체인자를 한 자리씩 왼쪽으로 이동한다.

[보기]

: 지정한 문장(text) 파일들을 차례로 TYPE시키는 배치파일 예.

c:\>COPY CON TELLME.BAT
@ECHO OFF
:BEGIN
IF NOT EXIST %1 GOTO END
TYPE %1
SHIFT
GOTO BEGIN
:END
ECHO 더이상 파일이 없습니다.
^Z

[설명]

"c:\>TELLME AAA.TXT BBB.TXT CCC.TXT .........  " + (엔터)
           %0     %1       %2      %3     ........%15

텍스트 파일명은 특정해야 하며 Wildcard문자(*,?)는 사용할 수 없다. 지정된 여러 파일들에 %1 변수가 차례로 SHIFT(변위)되면서 파일을 대입시켜 내용을 출력한다.
즉, AAA.TXT가 먼저 %1이 되고, 다음 BBB.TXT, 또 CCC.TXT, ... 등이 %1에 대입된다. 계속 10개 이상의 변수도 지정할 수 있다.

지정된 파일이 모두 옮겨 대입되고 나면 배치파일이 끝나게 된다. 배치파일 내용 중 GOTO 명령에서 BEGIN 레이블로 가서 다시 시작하게하는 것을 LOOP(고리)라고 한다.

(7) FOR
: FOR 명령은 지정된 횟수 만큼 배치파일이 같은 명령을 계속 반복하게하는 명령, 즉 반복수행(Looping) 명령이다.

[문법]

FOR %%변수 IN (셋트 파라미터) DO [명령어] %%변수

: '(셋트 파라미터)'는 일련의 많은 갯수의 파일들을 말하고, '%%변수'는 SET에 명시된 각 파일에 순차적으로 설정되어 명령을 실행하는 대입변수이다. (셋트 파라미터에 와일드카드문자(*,?)를  사용할 수 있다.)

[보기]

: 확장명이 BAT,DOC,TXT,CAP인 문장 파일 모두를 차례로 화면에 출력(TYPE)되게 배치파일을 만들어 보자.

c:\>COPY CON TYPEALL.BAT

FOR %%Z IN (*.BAT *.DOC *.TXT *.CAP) DO TYPE %%Z
^Z 

[출처] 배치파일 문법(.bat)|작성자 정팀장

PM :: 네이버 블로그