1

さまざまなファイルの場所に関する情報を収集するバッチ ファイルを作成しました。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

さらに簡単に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 に答える
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 に答える