1

我创建了一个批处理文件来收集有关不同文件位置的一些信息,其中一个是以字节为单位的大小。我想知道在创建 .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

谢谢!

4

5 回答 5

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
于 2013-11-09T02:25:20.943 回答
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:,=!)

希望这可以帮助。

于 2013-11-09T01:11:27.707 回答
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

希望这可以帮助

于 2013-11-08T15:04:42.250 回答
0

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

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

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

于 2013-11-08T16:00:08.967 回答
-1
::-------begin code---------
@echo off
for /f "delims=" %%a in (test.txt) do call :process "%%a"
goto :eof
:process
set strData=%1
set strData=%strData:,=%
for /f "delims=" %%x in (%strData%) do echo %%x >> testnew.txt
::-------end code-----------

找到了对我有用的这段代码。希望能帮助到你 !

于 2015-07-24T08:11:50.410 回答