脚本和剧本有啥区别,脚本怎么写
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了脚本和剧本有啥区别,脚本怎么写相关的知识,希望对你有一定的参考价值。
故事脚本都包括什么,能不能给我一个示范
要求是用文字写脚本,比如出现的人物需不需要起名字,要不要写出对话等
一、写作上的区别:
脚本可以根据故事所要表现的主题,思想,而进行的修改。只有在脚本确定之后,则才进行剧本的编写工作。剧本编写完成之后,则才是分镜的确定。场景,角色确定。
剧本的写作,最重要的是能够被搬上舞台表演,戏剧文本不算是艺术的完成,只能说完成了一半,直到舞台演出之后(即“演出文本”)才是最终艺术的呈现。历代文人中,也有人创作过不适合舞台演出,甚至根本不能演出的剧本。这类的戏剧文本则称为案头戏(也叫书斋剧)。
脚本:
剧本:
二、用途上的区别:
脚本是指表演戏剧、拍摄电影等所依据的底本又或者书稿的底本。脚本可以说是故事的发展大纲,用以确定故事的发展方向。
剧本是戏剧艺术创作的文本基础,编导与演员根据剧本进行演出。与剧本类似的词汇还包括脚本、剧作等等。它是以代言体方式为主,表现故事情节的文学样式。
三、内容性质上的区别:
脚本可以说是故事的发展大纲,用以确定故事的发展方向。之后,确定故事到底是在什么地点,什么时间,有哪些角色,角色的对白,动作,情绪的变化,等等,这些细化的工作都是剧本上所要清楚确定下来的。
剧本主要由台词和舞台指示组成。对话、独白、旁白都采用代言体,在戏曲、歌剧中则常用唱词来表现。剧本中的舞台指示是以剧作者的口气来写的叙述性的文字说明。包括对剧情发生的时间、地点的交代,对剧中人物的形象特征、形体动作及内心活动的描述,对场景、气氛的说明,以及对布景、灯光、音响效果等方面的要求。
参考资料来源:百度百科-脚本
参考资料来源:百度百科-剧本
参考技术A 电影脚本一般会列出镜头的长度、景别、构图、配乐等等很详细的信息,拿到它之后你的脑子里就会象看到真正剪辑好的电影一样。脚本一般是用在正式拍摄时导演和摄像,后期编辑时编辑师看的,而剧本只是提供给你一个故事梗概,是提供给导演和演员以及编剧看的。通俗一点说,电影脚本是连环画,电影剧本则是小小说。本回答被提问者采纳批处理脚本:%0 和 %~f0 有啥区别?
【中文标题】批处理脚本:%0 和 %~f0 有啥区别?【英文标题】:Batch scripting: What's the difference between %0 and %~f0?批处理脚本:%0 和 %~f0 有什么区别? 【发布时间】:2016-06-11 16:13:05 【问题描述】:我有一个批处理脚本,我想在其中获取脚本的完整路径。我很好奇,这有什么区别:
set scriptpath=%0
还有这个:
set scriptpath=%~f0
感谢您的帮助。
【问题讨论】:
输入for /?
并阅读,或点击here
【参考方案1】:
%0
引用参数 0 - 批处理文件的名称 - 始终与命令行或另一个批处理文件中指定的完全一致。
因此,如果一个名为Test.bat
的批处理文件存储在C:\Temp
中,例如从当前目录为C:\
并执行temp\test
的命令提示符窗口中启动,那么%0
将被@ 替换987654332@ 执行批处理文件。
但是%~f0
几乎总是被带有文件扩展名和完整路径的批处理文件名——完全限定的文件名——并且总是不带双引号,即使文件名或路径包含一个或多个字符,如空格或&()[]^=;!'+,`~
通常需要使用双引号。
因此批处理文件 Test.bat
存储在 C:\Temp
与行
@echo %0
@echo %~f0
从带有"temp\test.bat"
的命令提示符窗口中开始,当前目录为C:\
输出:
"temp\test.bat"
C:\Temp\Test.bat
这里可以看出所有不同之处:
完全限定的批处理文件名, 总是不带双引号和 所有字母大小写正确。%~f0
和其他修饰符的描述可以在运行 call /?
的命令 CALL 输出的帮助或运行 @987654343 的命令 FOR 的帮助中读取@ 在命令提示符窗口中并读取所有显示的页面。
注 1:
如果稍后在批处理文件中需要,应将完全限定的批处理文件名分配给环境变量,并使用 CD 或 PUSHD 从批处理文件中修改当前目录强>。原因见What is the reason for batch file path referenced with %~dp0 sometimes changes on changing directory?上的答案
注2:
从C:\
运行上面的示例批处理文件,仅使用"temp\test"
导致输出:
"temp\test"
C:\Temp\Test
缺少文件扩展名,这是由第一个注释的引用主题中描述的cmd
错误引起的。使用不带双引号的 temp\test
启动批处理文件会产生预期的输出:
temp\test
C:\Temp\Test.bat
获得始终确定并正确输出的批处理文件的完全限定文件名的最终解决方案是:
@echo off
goto Main
:GetFullBatchFileName
set "%1=%~f0" & goto :EOF
:Main
setlocal EnableExtensions DisableDelayedExpansion
echo %0
call :GetFullBatchFileName FullBatchFileName
setlocal EnableDelayedExpansion & echo !FullBatchFileName!& endlocal
endlocal
此代码甚至适用于从C:\
执行的批处理文件C:\Temp\Development & !Test!(!)\BestCode.bat
,"temp\development & !test!(!)\bestcode"
产生输出:
"temp\development & !test!(!)\bestcode"
C:\Temp\Development & !Test!(!)\BestCode.bat
为什么要使用延迟扩展来输出完整的批处理文件名?
使用命令 ECHO 分配给环境变量(如 FullBatchFileName
)的文件/文件夹名称的输出没有包围 "
需要使用 delayed expansion 否则文件/文件夹中的与号name 将被解释为无条件的 AND 运算符,而不是作为文件/文件夹名称一部分的文字字符,由 ECHO 输出。
如果不对分配给环境变量的文件/文件夹名称的输出使用延迟扩展而不使用 "
括起来会发生什么情况的示例:
@echo off
goto Main
:GetFullBatchFileName
set "%1=%~f0" & goto :EOF
:Main
setlocal EnableExtensions DisableDelayedExpansion
echo %0
call :GetFullBatchFileName FullBatchFileName
echo %FullBatchFileName%
endlocal
存储在C:\Temp\Development & !Test!(!)\NotGood1.bat
中的此批处理文件代码导致从C:\
执行,并在输出中使用"temp\development & !test!(!)\notgood1"
:
"temp\development & !test!(!)\notgood1"
C:\Temp\Development
'!Test!' is not recognized as an internal or external command,
operable program or batch file.
因此,Windows 命令处理器cmd
将环境变量FullBatchFileName
的值中的&
解释为无条件命令运算符AND。出于这个原因,ECHO 仅输出完全限定的批处理文件名的一部分,直到 &
,其余部分由 cmd.exe
解释为在执行命令 ECHO 后执行的第二个命令。 cmd.exe
在这种情况下会进行大量文件系统访问以查找可能由 !Test!(!)\NotGood1.bat
表示的可执行文件或脚本文件,最后在找不到合适的内容后输出错误消息。
为什么一开始就没有启用延迟扩展?
不能从一开始就启用延迟扩展,因为这会导致将文件/文件夹名称字符串中的!
解释为延迟扩展变量引用的开始/结束,如以下代码所示:
@echo off
goto Main
:GetFullBatchFileName
set "%1=%~f0" & goto :EOF
:Main
setlocal EnableExtensions EnableDelayedExpansion
set "Test="
echo %0
call :GetFullBatchFileName FullBatchFileName
echo !FullBatchFileName!
endlocal
存储在C:\Temp\Development & !Test!(!)\NotGood2.bat
中的此批处理文件代码导致从C:\
执行,并在输出中带有"temp\development & !test!(!)\notgood2"
:
"temp\development & ()\notgood2"
C:\Temp\Development & ()\NotGood2.bat
可以看出!test!
和!Test!
以及圆括号中的第三个!
从两个输出字符串中都消失了,因为!test!
和!Test!
被解释为延迟扩展变量引用并且没有环境变量Test
。第三个!
被删除,解释为延迟扩展变量引用的开头,没有匹配的!
标记变量名的结尾。
另见:
How does the Windows Command Interpreter (CMD.EXE) parse scripts? Single line with multiple commands using Windows batch file Where does GOTO :EOF return to?【讨论】:
【参考方案2】:%~f0
导致 %0
扩展为完全限定的路径名。它们可能相等也可能不相等,具体取决于 %0
的原始值。
这些修饰符的含义隐藏在For 命令的文档中。
【讨论】:
在命令提示符窗口中运行call /?
for command call 时帮助输出中的隐藏程度与运行for /?
for command 时的帮助输出相比更少隐藏对于,以上是关于脚本和剧本有啥区别,脚本怎么写的主要内容,如果未能解决你的问题,请参考以下文章