我希望我的桌面上有实时销售税总额。我以相同的方式命名我的所有购买和支出:日期 {string} 空格 项目{string} 空格 金额{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
如何根据以下文件名创建包含美元金额的文本文件?
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 位整数。
但是,如果您确实想使用批处理文件进行算术运算,那么还是有一些解决方法的。
看NT 批处理文件中的数学运算了解更多信息。
进一步阅读
- Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
- 对于/f- 循环命令以执行另一个命令的结果。
- 参数- 命令行参数(或参数)是传递到批处理脚本的任何值。