Link to home
Start Free TrialLog in
Avatar of michalek19
michalek19Flag for United States of America

asked on

Printbrm.exe - backup printer objects, print drivers and printer ports

Hi

I am having problem to execute this batch file on Win2008 R 64bit
Basically, i am getting this error

C:\Users\xxxxx\Desktop>Printbrm.cmd
'"C:\Windows\System32\Spool\Tools\PrintBRM -B -S"' is not recognized as an inter
nal or external command,
operable program or batch file.
'"C:\Windows\System32\Spool\Tools\PrintBRM -B -S"' is not recognized as an inter
nal or external command,
operable program or batch file.
'"C:\Windows\System32\Spool\Tools\PrintBRM -B -S"' is not recognized as an inter
nal or external command,
operable program or batch file.


I am not sure what i am doing wrong or what is wrong with this batch script

What i want to accomplished is to pull printers objects, printer drives and printer ports from remove print server and copy to centralize server?

Can some help me out?
printbrm.cmd
Avatar of marsilies
marsilies

You don't need the quotation marks in your command. The batch is trying to run the command:
"C:\Windows\System32\Spool\Tools\PrintBRM -B -S"
Instead of running:
C:\Windows\System32\Spool\Tools\PrintBRM -B -S

If any of your paths had spaces or special characters in them, you'd have to deal with quotes, but it looks like you don't.
http://stackoverflow.com/questions/535975/dealing-with-quotes-in-windows-batch-scripts

Also, you doubled up the -b and -s switches, putting them both in the "PrintBRM" variable you set and the actual command.
Avatar of michalek19

ASKER

I am sorry, can you point me what quotation marks are you revering to

@echo off
set BkupDir=C:\temp
set PrintBRM=%windir%\System32\Spool\Tools\PrintBRM -B -S

call :DoBackup PRINT-fs2
call :DoBackup PRINT-fs3
call :DoBackup PRINT-f4
goto :EOF

:DoBackup [printservername]
  if exist "%BkupDir%\%~1.printerExport" ren "%BkupDir%\%~1.printerExport" "*.bak"
  "%PrintBRM%" -s \\%~1 -b -f "%BkupDir%\%~1.printerExport" -O FORCE && (
    if exist "%BkupDir%\%~1.bak" del "%BkupDir%\%~1.bak"
  ) || (
    if exist "%BkupDir%\%~1.bak" ren "%BkupDir%\%~1.bak" "*.printerExport"
  )
  goto :EOF
set PrintBRM=%windir%\System32\Spool\Tools\PrintBRM -B -S

Should be:
set PrintBRM=%windir%\System32\Spool\Tools\PrintBRM


And
"%PrintBRM%" -s \\%~1 -b -f "%BkupDir%\%~1.printerExport" -O FORCE

Should be
%PrintBRM% -b -s \\%~1 -f %BkupDir%\%~1.printerExport -O FORCE
I changed it to
@echo off
set BkupDir=C:\temp
set PrintBRM=%windir%\System32\Spool\Tools\PrintBRM

call :DoBackup YN-CORPNT1
call :DoBackup BO-CORP1
call :DoBackup CI-CORPNT1
goto :EOF

:DoBackup [printservername]
  if exist "%BkupDir%\%~1.printerExport" ren "%BkupDir%\%~1.printerExport" "*.bak"
  "%PrintBRM% -b -s \\%~1 -f %BkupDir%\%~1.printerExport -O FORCE && (
    if exist "%BkupDir%\%~1.bak" del "%BkupDir%\%~1.bak"
  ) || (
    if exist "%BkupDir%\%~1.bak" ren "%BkupDir%\%~1.bak" "*.printerExport"
  )
  goto :EOF



but i got output as follow


C:\Printbrm.cmd
The filename, directory name, or volume label syntax is incorrect.
The filename, directory name, or volume label syntax is incorrect.
The filename, directory name, or volume label syntax is incorrect.
ASKER CERTIFIED SOLUTION
Avatar of marsilies
marsilies

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Is it possible to add to this batch script log files of the  backed up printer objects?
and received an e-mail when the backup up is completed.
It might be possible, but that's outside the scope of your original question. You should open up a new question to ask about adding those features to the batch file.
I've requested that this question be closed as follows:

Accepted answer: 0 points for michalek19's comment #a39909792

for the following reason:

Great support

I will open another ticket other question
New topic

Printbrm.exe - adding log file and e-mail alert to batch file