Tag Archives: batch files

Getting file size in KB using batch file

To get file size using batch file, we use variable with modifier. Then set /a, performs match operation (divide by 1024). Unlike other examples, this example works on any Windows language.

@echo off
:: Name: file_size.bat
:: Author wishmesh.com
:: Calculate file size in KB from %1
set /a size = %~z1 / 1024
echo %size% KB

file_size.bat "c:\files\some_file.dat"

Quotes necessary when there are spaces in file or folder name.

Tested on Windows XP and Windows Server 2003.

xcopy alternative for Windows Vista and Windows Server 2008 – ROBOCOPY

Robocopy – Robust File Copy for Windows is bundled with Windows Server 2008, Windows 7 and Vista. If you can not do something in xcopy, you probably can in robocopy. For example robocopy can:

  • resume on network error, specify number of Retries, etc.
  • ability to copy NTFS permissions and attributes including timestamps;
  • synchronize mode;
  • and a lot more.

Example, copy src_folder to dst_folder including sub-folders:
robocopy C:\src_folder C:\dst_folder /E

robocopy /?

More reading:

Batch script to test if folder / directory is empty

Yesterday I needed a Dos batch script to check if folder is empty. A little Google search revealed some methods:

  • Using dir and find commands, does not work on non-english Windows versions: www.computing.net
  • Using dir command with /a-d, does not work for folders: www.computing.net
  • Using dir and findstr commands, does not work on non-english Windows versions: windowsitpro.com

If you want something done right do it yourself. Here is a my script:
@echo off
for /F %%i in ('dir /b "c:\test directory\*.*"') do (
   echo Folder is NON empty
   goto :EOF
echo Folder is empty or does not exist

Update Sep 21, 2011 – added “or does not exist”. Thanks to the Thump.
Update Jul 5, 2013 – for more code examples see the comments!