Things I learned that may come in handy whenever I'm forced to go windows.
- %1, %2
- Positional parameters (like $1,$2 in unix shells)
- SET /A <name>=<a><operator><b>
- Assign the value of the arithmetic operation to <name>
call:do_it hi bye goto:eof :do_it zip -r %bckdir%\logs.zip %a%\test echo Passed parameters %~1% and %~2% goto:eof
NOTE: The exact positions (what follows :~) depend on the date format set on your system. Check what
echo %date% and
echo %time% return.
SET YYYY=%date:~-4,4% SET DD=%date:~-7,2% SET MM=%date:~-10,2% SET HR=%time:~0,2% SET MIN=%time:~3,2% SET SEC=%time:~6,2% SET timestamp=%YYYY%%MM%%DD%_%HR%%MIN%%SEC%
Errors and solutions
CMD does not support UNC paths as current directories.
You get this when you try to cd to a UNC path (\\server\dir\dir\)
- pushd <UNCpath>
- This works.
Found running a python program
- "System.Messaging.MessageQueueException: Insufficient resources to perform operation."
- There are insufficient resources to perform the migration, and this is specific to the MSMQ. The size of the MSMQ itself is limited to 4MB, requests have to be within that limit.
- Open 'Server Manager'
- Go to the "Features" tab - under the Features tab, right-click 'Message Queueing'
- Select "Properties"
- On the "General" tab, un-tick 'Storage limits'
- Go to Tools - 'Computer Management'
- Go to 'Services and Applications'
- Open the 'Message Queuing' properties, un-tick 'Storage limits'