The reason is that the database name has a middle hillock "-"
Workaround: Enclose the name in brackets.
Call:backupone [database name-new]
The full backup script is as follows
@ECHO on
Set date=%date:/=-%
Set Bakupfolder=f:\bakup\
REM 1 Saves the backup file by sub-directory; 0 does not press
Set Lay_in_subfolder=1
Call:backupone [database name-new]
Goto:eof
@ECHO OFF
: Backupone
Setlocal
Echo%1
Set dbname=%1
If not exist%bakupfolder%%dbname% mkdir%bakupfolder%%dbname%
If%lay_in_subfolder%==1 (
Set subfolder=%dbname%\
) Else set subfolder=
rem Echo%bakupfolder%%subfolder%%dbname%%stamp%.bak
Sqlcmd-u sa-p "Password"-s localhost-q "BACKUP database%dbname% to disk= '%bakupfolder%%subfolder%%dbname%_%date:~0,10%.bak ' "
Endlocal&goto:eof
Reprint please specify the source!
Sqlserver2008 using bat script to back up times wrong because the library name has mid-bar "original"