2010-04-13 3 views
0

내 앱에 대한 간단한 배치 파일을 만드는 방법을 살펴보십시오. 내 응용 프로그램은 실행되는 디렉토리가 있어야합니다.디렉토리 또는 더 나은 방법을위한 일괄 스크립팅

난 그냥 배치 스크립트하게 생각했다 첫 번째 방법 :

@ECHO OFF 
IF NOT EXIST C:\App GOTO :CREATE ELSE GOTO :DONTCREATE 

:CREATE 
MKDIR C:\App\Code 
ECHO DIRECTORY CREATED 

:DONTCREATE 
ECHO IT WAS ALREADY THERE 

1) 내가 기대하는 것처럼이 실행하지 않습니다. :CREATE:DONTCREATE은 관계없이 실행되는 것 같습니다. 그렇다면 어떻게해야합니까?

출력 :

A subdirectory or file C:\App\Code already exists. 
DIRECTORY CREATED 
IT WAS ALREADY THERE 

그래서 사실 및 허위 진술을 모두 입력?

2) 응용 프로그램이 C# WPF 응용 프로그램입니다. 내가 뭘하려고하는지 (이미 존재하지 않는다면 두 개의 디렉토리를 만드십시오) - 다른 방법으로해야합니까? 응용 프로그램에서 실행되는 것처럼 보입니까?

: 좋아, 그냥 C# 코드에서 할 수 있습니다.하지만 아무도 내 배치에 문제를 설명 할 수 있습니까?

답변

2

문제가 당신이 GOTO의 생각 아마도 :

if (!Directory.Exists(@"c:\app\code") 
{ 
    Directory.CreateDirectory(@"c:\app\code"); 
} 
else 
{ 
    Console.WriteLine("Directory already exists!"); 
} 

더 많은 정보를 원하시면이 페이지를 참조하십시오 메소드 시작점으로 대상. 그것들은 파일의 레이블 일뿐입니다. 이

IF NOT EXIST C:\App GOTO :CREATE ELSE GOTO :DONTCREATE 

실행이 다음

:CREATE 

으로 집어 후 파일의 끝에 도달 할 때까지 잘

:DONTCREATE 

을 통해 스크립트 아래에 계속 것을 의미한다. 이후에 다른 곳으로 가고 싶다면 다른 GOTO를 추가해야합니다. CREATE가 완료되었습니다. 일반적인 경우는 다음과 같이 GOTO : EOF (내장 레이블) 끝에 말하면됩니다.

@ECHO OFF 
IF EXIST C:\App GOTO :DONTCREATE 

:CREATE 
MKDIR C:\App\Code 
ECHO DIRECTORY CREATED 
GOTO :EOF 

:DONTCREATE 
ECHO IT WAS ALREADY THERE 
+0

감사합니다. – baron

1

아마도 가장 간단한 대답은 아마도 응용 프로그램에서 실행될 때 디렉토리를 만들려는 생각 일 것입니다.

DirectoryInfo.Create()은 필요한 방법입니다.