我有来自TFS服务器的MS Visual Studio Web项目文件夹,其中包含几个* .scss文件并已生成* .css(通过Mindscape Web Workbench Visual Studio插件)。
在发布网站之前,想要使用Compass重新生成* .css文件 但文件* .css文件包含在项目中并已签入,因此它们标有只读文件属性。
我的命令行:
C:\Ruby193\bin>compass compile
--force
--sass-dir 'd:\SDesign'
--css-dir 'd:\SDesign'
--output-style compressed
--no-line-comments
--relative-assets
--trace
以下是结果:
overwrite Style.css
Errno::EACCES on line ["56"] of C: Permission denied - d:/SDesign/Style.css
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/lib/compass/actions.rb:56:in `open'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/lib/compass/actions.rb:56:in `write_file'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/lib/compass/compiler.rb:144:in `compile'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/lib/compass/compiler.rb:118:in `compile_if_required'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/lib/compass/compiler.rb:103:in `block (2 levels) in run'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/lib/compass/compiler.rb:101:in `each'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/lib/compass/compiler.rb:101:in `block in run'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/lib/compass/compiler.rb:126:in `timed'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/lib/compass/compiler.rb:100:in `run'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/lib/compass/commands/update_project.rb:45:in `perform'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/lib/compass/commands/base.rb:18:in `execute'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/lib/compass/commands/project_base.rb:19:in `execute'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/lib/compass/exec/sub_command_ui.rb:43:in `perform!'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/lib/compass/exec/sub_command_ui.rb:15:in `run!'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/bin/compass:29:in `block in <top (required)>'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/bin/compass:43:in `call'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.1/bin/compass:43:in `<top (required)>'
C:/Ruby193/bin/compass:19:in `load'
C:/Ruby193/bin/compass:19:in `<main>'
有没有办法不手动重置目标* .css文件的只读属性? 也许一些 magic 命令参数?
提前谢谢。
答案 0 :(得分:0)
这是我的临时解决方案 如果你知道更好的方式请告诉我!
@echo off
set ruby_bin=c:\Ruby193\bin
set project_path=d:\CDesign
set temp_path=%project_path%\temp
if exist "%temp_path%" rd "%temp_path%" /Q /S
mkdir "%temp_path%"
call %ruby_bin%\compass.bat compile --force --sass-dir '%project_path%' --css-dir '%temp_path%' --output-style compressed --no-line-comments --relative-assets
xcopy %temp_path%\*.* %project_path% /S /R /Y
rd "%temp_path%" /Q /S