1

Я бы хотел, чтобы на рабочем столе была сумма налога с продаж в реальном времени. Я называю все мои покупки и расходы одинаково: date {string} SPACE item {string} SPACE amount {string}, последний всегда будет долларом и центом с разделителем периода. Я хотел бы добавить числа для суммы в каждом имени файла в каталоге.

Когда у меня был текстовый файл с суммами в долларах, я, вероятно, обработал бы его в Excel, чтобы рассчитать налог с продаж, который здесь составляет 15% на все.

пример имени файла:

20160516 jcca.15144 115.00 anRtn.pdf
20160408 DunPrint.poster 90.85 29725-1.pdf
20160505 bpSouth.fuel 59.71.jpg

Я искал по этому и не нашел хитов, так это вообще возможно в командной строке Windows?

1 ответ1

2

Как я могу создать текстовый файл с суммами в долларах из следующих имен файлов?

20160516 jcca.15144 115.00 anRtn.pdf
20160408 DunPrint.poster 90.85 29725-1.pdf
20160505 bpSouth.fuel 59.71.jpg

Используйте следующий пакетный файл (ExtractPrices.cmd):

@echo off
Setlocal EnableDelayedExpansion
for /f "usebackq tokens=*" %%a in (`dir /b %1`)  do (
  for /f "tokens=3" %%b in ("%%~na")  do (
    echo %%b>>prices.txt
  )
)

Использование:

ExtractPrices directory
  • directory - это имя каталога, содержащего файлы для обработки

  • Суммы в долларах США извлекаются из имен файлов и записываются в prices.txt расположенный в том же каталоге, что и пакетный файл.

Пример вывода:

F:\test>dir /b files
20160408 DunPrint.poster 90.85 29725-1.pdf
20160505 bpSouth.fuel 59.71.jpg
20160516 jcca.15144 115.00 anRtn.pdf

F:\test>ExtractPrices.cmd files

F:\test>type prices.txt
90.85
59.71
115.00

Если у меня есть текстовый файл с суммами в долларах, я, вероятно, обработаю его в Excel

Это хорошая идея. Хотя арифметику можно выполнять в пакетных файлах, она сложна и имеет ограничения - она может обрабатывать только 32-разрядные целые числа.

Однако есть обходные пути, если вы действительно хотите использовать пакетные файлы для арифметики.

Посмотрите Math в пакетных файлах NT для получения дополнительной информации.


Дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .