일반 Windows 명령줄을 사용하여 텍스트 파일의 값을 어떻게 증가시키나요?

StackOverflow https://stackoverflow.com/questions/40787

문제

내 프로젝트 중 하나에 대해 "컴파일 카운터"를 유지하고 싶습니다.나는 이를 수행하는 빠르고 더러운 방법이 일반 숫자가 포함된 텍스트 파일을 유지한 다음 컴파일할 때마다 이 값을 증가시키는 작은 스크립트를 호출하는 것이라고 생각했습니다.

일반 Windows 명령줄을 사용하여 이 작업을 수행하려면 어떻게 해야 합니까?

이 작업을 수행하기 위해 추가 셸을 설치하고 싶지는 않지만 이 작업을 수행할 수 있는 매우 간단한 다른 제안이 있으면 자연스럽게 감사하게 생각합니다.

도움이 되었습니까?

해결책

평범한 오래된 배치 파일을 사용해 볼 수 있습니다.

@echo off
for /f " delims==" %%i in (counter.txt) do set /A temp_counter= %%i+1
echo %temp_counter% > counter.txt

count.bat와 counter.txt가 동일한 디렉토리에 있다고 가정합니다.

다른 팁

새로운 셸이겠지만(하지만 그만한 가치가 있다고 생각합니다) PowerShell에서는

[int](get-content counter.txt) + 1 | out-file counter.txt

빌드의 현재 날짜/시간을 로그 파일에 추가하는 것이 좋습니다.

date >> builddates.txt

이렇게 하면 라인 수를 통해 빌드 수를 얻을 수 있고 나중에 날짜와 시간을 분석하는 데 방해가 될 수 있다면 흥미로운 통계를 얻을 수도 있습니다.

매우 빠른 프로젝트 반복을 수행하지 않는 한 파일의 줄 수를 계산하는 추가 크기 및 시간은 중요하지 않습니다!

Microscoft Windows 기반 스크립트를 실행해도 괜찮다면 이 jscript는 제대로 작동할 것입니다.그냥 .js 파일로 저장하고 "wscript c:/script.js"를 사용하여 dos에서 실행하세요.

var fso, f, fileCount;
var ForReading = 1, ForWriting = 2;   
var filename = "c:\\testfile.txt";
fso = new ActiveXObject("Scripting.FileSystemObject");

//create file if its not found
if (! fso.FileExists(filename))
{
  f = fso.OpenTextFile(filename, ForWriting, true);
  f.Write("0");
  f.Close();
}

f = fso.OpenTextFile(filename, ForReading);
fileCount = parseInt(f.ReadAll());

//make sure the input is a whole number
if (isNaN(fileCount))
{
    fileCount = 0;  
}

fileCount = fileCount + 1;

f = fso.OpenTextFile(filename, ForWriting, true);
f.Write(fileCount);
f.Close();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top