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.
:: Name: file_size.bat
:: Author wishmesh.com
:: Calculate file size in KB from %1
set /a size = %~z1 / 1024
echo %size% KB
Quotes necessary when there are spaces in file or folder name.
Tested on Windows XP and Windows Server 2003.
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
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:
for /F %%i in ('dir /b "c:\test directory\*.*"') do (
echo Folder is NON empty
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!