Almost anything here is not accessible to batch. You can do it in the batch, but only if you use it to run some applications for database operations, logging, pretty much everything. But if you have to write such applications anyway, it would become quite questionable: why using the batch?
However, it depends on what you call "batch". All of the above is not applicable to the much more powerful batch facility, PowerShell:
http://en.wikipedia.org/wiki/PowerShell[
^],
http://technet.microsoft.com/en-US/scriptcenter/dd742419.aspx[
^].
PowerShell is really extremely powerful. In brief, roughly speaking, nearly anything you can do with .NET you can do with PowerShell. For example, for database work, you can reference ADO.NET assemblies and use ADO.NET, and so on…
—SA