首页 > 解决方案 > 批处理/javascript文件从多个文件中删除行尾的逗号

问题描述

正如我所说,我想创建一个批处理或 javascript 文件以一次从多个文件中删除每一行(如果有的话)末尾的逗号。到目前为止,我已经做了一些研究并发现了这一点:


@if (@This==@IsBatch) @then
@echo off
rem **** batch zone *********************************************************

    type FILE1.ISO | cscript //nologo //e:javascript "%~f0" > NEWFILE1.ISO
    type FILE2.ISO | cscript //nologo //e:javascript "%~f0" > NEWFILE2.ISO

    exit /b

@end
// **** Javascript zone *****************************************************
    while (!WScript.StdIn.AtEndOfStream) WScript.StdOut.WriteLine(WScript.StdIn.ReadLine().replace(/,$/,''));

问题:每次使用脚本时文件名都不同,所以每次使用时我都不必输入每个文件的名称吗?有没有办法我可以说在 C:/foldername 中找到 .iso 文件并从中删除逗号?

先感谢您!

标签: javascriptbatch-file

解决方案


批处理选项。只需测试最后一个字符是否为逗号,如果不是按原样打印该行:

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('type *.iso') do (
  set "lines=%%i"
  set "test=!lines:~-1!"
  if "!lines:~-1!"=="," (call set "lines=%%lines:!test!=%%")
  echo !lines!
)

推荐阅读