Я бы хотел завести «счетчик компиляций» для одного из моих проектов. Я подумал, что быстрый и грязный способ сделать это - сохранить текстовый файл с простым номером в нем, а затем просто вызвать небольшой скрипт, чтобы увеличивать его каждый раз, когда я компилирую.
Как мне это сделать, используя обычную командную строку Windows?
На самом деле мне не хочется устанавливать дополнительную оболочку для этого, но если у вас есть какие-либо другие супер простые предложения, которые позволят добиться именно этого, они, естественно, тоже будут оценены.





Это была бы новая оболочка (но я думаю, что она того стоит), но из PowerShell она была бы
[int](get-content counter.txt) + 1 | out-file counter.txt
Если вы не против запустить скрипт на базе Microsoft Windows, этот скрипт будет работать нормально. просто сохраните его как файл .js и запустите из dos с помощью "wscript cscript.js".
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();
Вы можете попробовать простой старый пакетный файл.
@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 находятся в одном каталоге.
Я бы предложил просто добавить текущую дату и время сборки в файл журнала.
date >> builddates.txt
Таким образом, вы получите количество сборок через количество строк, а также можете получить интересную статистику, если позже вам будет интересно проанализировать даты и время.
Дополнительный размер и время для подсчета количества строк в файле будут незначительными, если вы не делаете серьезно быстрые итерации проекта!