Reviewed: 2017-03-13
Product Version:
AhsayOBM/AhsayACB: 7.3.0.0 to 7.x
OS: Windows
ATTENTION 1st January, 2022: v7 officially End-of-Life [details] ===== Problem Description ===== When performing a backup job on AhsayOBM/AhsayACB the following error is shown in the backup log, if a Windows batch file is run as a pre or post backup command from a network drive or UNC path.
No. | Type | Timestamp | Log |
* | ... | ... | ... |
* | info | YYYY/MM/DD hh:mm:ss | [Pre-Backup-1] xxxx.bat |
* | warn | YYYY/MM/DD hh:mm:ss |
'\\UNC_PATH\folder\'
|
* | warn | YYYY/MM/DD hh:mm:ss |
[Pre-Backup-1] CMD.EXE was started with the above path as the current directory.
|
* | warn | YYYY/MM/DD hh:mm:ss |
[Pre-Backup-1] UNC paths are not supported. Defaulting to Windows directory.
|
* | warn | YYYY/MM/DD hh:mm:ss |
[Pre-Backup-1] 'xxxx.bat' is not recognized as an internal or external command,
|
* | warn | YYYY/MM/DD hh:mm:ss |
[Pre-Backup-1] operable program or batch file.
|
* | ... | ... | ... |
===== Cause ===== The warning message is returned by Microsoft Windows and not Ahsay, it is related to Windows limitation which prevents the running of batch files on UNC paths.
References:
https://support.microsoft.com/en-us/help/156276/cmd.exe-does-not-support-unc-names-as-the-current-directory
https://technet.microsoft.com/en-us/library/bb490978.aspx
https://social.technet.microsoft.com/Forums/scriptcenter/en-US/b3243c52-65d4-4fda-a7eb-f94733eaf408/how-to-trap-cmdexe-was-started-with-the-above-path-unc-paths-are-not-supported-message-in?forum=ITCG
===== Resolution ===== A workaround for this Windows limitation is to use a batch file located on a local drive along with the pushd and popd commands to launch the batch file on the network drive.
Example:
Batch file: \\192.168.22.41\Production\current\shutdown_database.bat
-
Create an batch file and save on local machine to execute the batch file on UNC path or network drive.
-
Call the local batch file (localbatch.bat) in the pre or post backup command in AhsayOBM/AhsayACB.
localbatch.bat
echo on
pushd \\192.168.22.41\Production\current\
\\192.168.22.41\Production\current\shutdown_database.bat
popd