有没有办法从批处理文件中生成的大数字中删除逗号?

时间:2013-11-08 14:51:56

标签: batch-file csv size comma separator

我创建了一个批处理文件来收集有关不同文件位置的一些信息,一个是以字节为单位获取大小。我想知道是否有一种方法可以删除逗号,因为我正在创建.csv文件并在excel中打开它,其中分隔符是逗号,因此,我无法在正确的标题下查看信息。

可以这样做吗?

这是获取尺寸的代码:

ECHO OFF
    Set _size=0
    For /F "tokens=3 delims= " %%I In ('Dir !folder! /a-d /S ^|Find /I "file(s^)"') Do Set size=%%I

谢谢!

5 个答案:

答案 0 :(得分:2)

/-c添加到DIR命令,如下所示。 它会在逗号成为问题之前删除它们。

也不需要find命令中的转义字符。

@ECHO OFF
setlocal enabledelayedexpansion
Set size=0
For /F "tokens=3 delims= " %%I In ('Dir !folder! /a-d /S /-c ^|Find /I "file(s)"') Do Set size=%%I

答案 1 :(得分:0)

您可以使用以下代码删除此逗号:

    @echo off

    For /F "tokens=* delims=," %%A in ("1234,5678") do set part1=%%A & set part2=%%B

    Echo here is your number without the comma: %part1%%part2%

    Pause > nul
    Exit

希望这有帮助

答案 2 :(得分:0)

更简单,for已经提供了获取文件大小的功能:

set PATHOFINTEREST=C:\Windows
for /f %%x in ('dir /s/b /a-d %PATHOFINTEREST%') do @echo %%x,%%~zx

这将为您提供以逗号分隔的文件名列表及其大小。检查for /?,了解有关所有修饰符的信息,以便提取文件的各种属性。

答案 3 :(得分:0)

@setlocal enabledelayedexpansion
@ECHO OFF
Set _size=0
For /F "tokens=3 delims= " %%I In ('Dir !folder! /a-d /S ^|Find /I "file(s^)"') Do (Set size=%%I&set size=!size:,=!)

希望这会有所帮助。

答案 4 :(得分:-1)

// From Lindsey Simon
/**
 * This is a hack to make text input focus work in Android/PhoneGap
 * where calling el.focus() doesn't actually have the blinking cursor
 * effect = scumbag.
 * @param {Zepto} $el A zepto element.
 */
ws.focus = function($el) {
  var el = $el.get(0);
  el.focus();
  el.setSelectionRange && el.setSelectionRange(0, 0);
};

找到适合我的这段代码。希望它有所帮助!