Ken*_*ith 64 batch-file visual-studio-2008
我有一些批处理文件,用于帮助自动化创建和重新加载开发数据库的过程.在Visual Studio中创建和维护这些批处理文件是有意义的(即,在VS数据库项目中).它们看起来很简单,像这样:
@echo off
echo Setting server and db from defaults.
set SERVERNAME=(LOCAL)
set DB=PLEDGES
echo Creating tables on server %SERVERNAME% and database %DB%
sqlcmd -S %SERVERNAME% -d %DB% -E -i DropAllTables.sql
sqlcmd -S %SERVERNAME% -d %DB% -E -i dbo.UserType.Table.sql
sqlcmd -S %SERVERNAME% -d %DB% -E -i dbo.RegisteredUser.Table.sql
echo Done creating tables.
Run Code Online (Sandbox Code Playgroud)
问题是,当我运行它们时,这是输出:
C:\>???
'???' is not recognized as an internal or external command,
operable program or batch file.
Creating tables on server (LOCAL) and database PLEDGES
Done creating tables.
Run Code Online (Sandbox Code Playgroud)
换句话说,Visual Studio以某种方式无形地插入一组Windows命令处理器将其解释为字符的字符,即"∩╗┐".谷歌搜索没有返回任何内容.还有其他人碰到这个吗?关于修复的想法?
我有一个解决方法(只需在每个文件的开头添加一个空白行,它会显示错误,但在其他情况下工作正常),但每次运行其中一个时,我自己的肛门保留方面会感到烦恼文件.
小智 77
当他说Visual Studio的默认文本格式类似于UTF-8时,Ray是正确的.尽管Notepad ++是一个很棒的工具,我自己也使用它,但是有一种方法可以告诉Visual Studio以ASCII格式存储文本文件:
在VS2008中,在解决方案资源管理器中选择您的文件,然后选择文件...保存myfile.bat As ...
在"保存"按钮的向下箭头中,选择"使用编码保存".
在"高级保存选项"对话框中保存时,在"编码"下拉列表中选择"US-ASCII".根据需要设置行结尾,或将其保留为当前设置.
Ray*_*yes 51
发生的事情是,VisualStudio很聪明,并且使您无法将批处理文件保存为非ASCII字符编码(例如,您的文件是UTF-8或其他非ASCII编码).
我的项目团队已被捕获了几次(如果文件被检入CVS,它会使文件变得混乱).
我倾向于使用Notepad ++,查看右下角的编码(应该说它是ANSI),如果需要更改它,请转到格式菜单并更改类型然后保存.
Visual Studio应该看起来相同,但文件大小应该减半!
Sti*_*ack 14
在视觉工作室内纠正这种情况的另一种方法是......
现在,只要打开它就应该保留所选的编码.