2011-10-24 8 views
1

ファイルのサイズを調べようとしていますが、それが0より大きい場合、いくつかのことをしたいと思います。バッチスクリプトのファイルサイズを確認する

C:\AnalyzerCheck>set file=C:\AnalyzerCheck\loaded.txt

C:\AnalyzerCheck>set minbytesize=0

file~zA was unexpected at this time.

C:\AnalyzerCheck>FOR /F "usebackq" file~zA

C:\AnalyzerCheck>

がどのように私はこのエラーを修正します:私は、スクリプトを実行したときに

set file="C:\AnalyzerCheck\loaded.txt" 
set minbytesize=0 
if exist %file% (
FOR /F "usebackq" %A IN ('%file%') DO set size=%~zA 
if %size% GTR %minbytesize% (
    //do stuff 
) else (
    //do stuff 
) 

は、しかし、私はこの出力に含ま/エラーを取得しています: 私はこのコードを持っていますか?

編集:

新しいエラー:

答えて

5

このコマンド:

FOR /F "usebackq" %A IN ('%file%') DO set size=%~zA 

は、2個のエラーを持っている:あなたがないようにしたいので、あなたは、/ Fオプション(どちらも "useback" オプション)を使用してはなりませんCONTENTSというファイルを読んで、NAMEというファイルを処理してください。ザ・スクリプトの中で

FOR %%A IN (%file%) DO set size=%%~zA 
0

このコマンド:このコマンドは、バッチファイル内にある場合にも、A交換可能なパラメータは、二パーセント記号を持っている必要があります

for /f %%A in ("myfile.txt") do set size=%%~zA 

それともこのコマンド:

set "filename=myfile.txt" 
    for %%A in (%filename%) do echo.Size of "%%A" is %%~zA bytes 

それともこのコマンド:

set "filename=myfile.txt" 
    for /f %%A in (%filename%) do set size=%%~zA 
-1
@echo off 
cd C:\MyFolder\ 
set file="MyFile.txt" 

set maxbytesize=0 

FOR /F "usebackq" %%A IN ('%file%') DO set size=%%~zA 

if %size% GTR %maxbytesize% (
    //do stuff 
) ELSE (
    //do stuff 
)