我需要在C#中执行PowerShell脚本.该脚本需要命令行参数.
这是我到目前为止所做的:
RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();
Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
runspace.Open();
RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace);
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(scriptFile);
// Execute PowerShell script
results = pipeline.Invoke();
Run Code Online (Sandbox Code Playgroud)
scriptFile包含类似"C:\ Program Files\MyProgram\Whatever.ps1"的内容.
该脚本使用命令行参数,例如"-key Value",而Value可以是类似于也可能包含空格的路径.
我不这样做.有谁知道如何从C#中将命令行参数传递给PowerShell脚本并确保空格没有问题?
我有以下数据,我需要把它全部放在一行.
我有这个:
22791
;
14336
;
22821
;
34653
;
21491
;
25522
;
33238
;
Run Code Online (Sandbox Code Playgroud)
我需要这个:
22791;14336;22821;34653;21491;25522;33238;
Run Code Online (Sandbox Code Playgroud)
这些命令中没有一个完美地运行.
他们中的大多数都让这样的数据:
22791
;14336
;22821
;34653
;21491
;25522
Run Code Online (Sandbox Code Playgroud) 我在内部服务器上执行数据库备份时过于宽松.
是否有一个简单的命令行程序,我可以用它来备份SQL Server 2005中的某些数据库?或者有一个简单的VBScript?
只是将一些shell脚本转换为批处理文件,有一件事我似乎找不到......这是一个简单的命令行参数数量.
例如.如果你有:
myapp foo bar
Run Code Online (Sandbox Code Playgroud)
在壳牌:
批量生产
所以我环顾四周,要么我正在寻找错误的地方,要么我是盲目的,但我似乎无法找到一种方法来获取传入的命令行参数的数量.
是否有类似于shell的"$#"命令用于批处理文件?
PS.我发现最接近的是遍历%1s并使用'shift',但是我需要在脚本中稍后引用%1,%2等,这样就没有用了.
有没有办法通过Ruby运行命令行命令?我正在尝试创建一个小的Ruby程序,它可以通过'screen','rcsz'等命令行程序拨出和接收/发送.
如果我可以将所有这些与Ruby(MySQL后端等)结合在一起,那将是很棒的.
我在linux机器上,我监视进程使用情况.大部分时间我都会离开我的系统而且我可以在我的设备上访问互联网.所以我打算写一个shell脚本,可以把这个过程的输出邮寄给我.
可能吗?
如果是这样如何使shell脚本发送邮件?
请提供一个片段以便开始使用.
Python全局解释器锁的功能究竟是什么?编译为字节码的其他语言是否采用类似的机制?
如何从其他域调整iframe的大小
-编辑
向下滚动查看某些解决方案..或阅读如何不执行此操作:D
经过数小时的代码黑客攻击后,结论是iframe中的任何内容都无法访问,即使是在我的域上呈现的滚动条也是如此.我尝试了很多技术无济于事.
为了节省您的时间,请不要只使用sendMessages进行跨域通信. 我使用HTML <5的插件 - 转到底部以获得一个很好的例子:)
过去几天,我一直在尝试将iframe集成到网站中.这是一个短期解决方案,而另一方开发和API(可能需要几个月......)因为这是短期解决方案,我们想要使用easyXDM-我可以访问其他域,但很难让他们要求添加p3p标头,因为它是.....
3个iframe
我找到的最接近的解决方案是3个iframe - 但它是精神上的铬和野生动物园,所以我不能使用它.
用铬打开
http://css-tricks.com/examples/iFrameResize/crossdomain.php#frameId=frame-one&height=1179
测量滚动条
我发现了另一篇关于如何使用scrollheight尝试调整表单大小的文章..理论上它运作良好但我无法使用iframes滚动高度正确应用它.
document.body.scrollHeight
Run Code Online (Sandbox Code Playgroud)
该obvoisly使用身体高度(不能访问这些属性100%是基于客户端显示canvaz而不是x-domains文档高度)
我尝试使用jquery来获取iframes的高度
$('#frameId').Height()
$('#frameId').clientHeight
$('#frameId').scrollHeight
Run Code Online (Sandbox Code Playgroud)
返回值不同的铬和即 - 或根本没有意义.问题是框架内的所有内容都被拒绝 - 甚至滚动条......
计算样式
但是如果我在iframe的chrome中检查和元素,那么bladdy会向我展示iframe中的文档维度(使用jquery x-domain来获取iframe.heigh - 访问被拒绝)计算CSS中没有任何内容 
现在chrome如何计算出来?(编辑 - 浏览器使用其在渲染引擎中的内置重新渲染页面来计算所有这些设置 - 但是没有附加到任何地方以防止跨域欺诈..所以...)
HTML4
我读了HTML4.x的规范,它说那里应该有通过document.element公开的只读值,但它是通过jquery拒绝访问的
代理框架
我走了代理网站的路线并计算哪个是好的..直到用户通过iframe登录并且代理获得登录页面而不是实际内容.对某些人来说,调用两次页面也是不可接受的
http://www.codeproject.com/KB/aspnet/asproxy.aspx
http://www.johnchapman.name/aspnet-proxy-page-cross-domain-requests-from-ajax-and-javascript/
重新渲染页面
我没有走到这一步,但有一些jscript引擎会查看源代码并根据源文件重新呈现页面.但它需要黑客攻击那些jscripts ..这对商业实体来说不是一个理想的情况......而且有些人会把纯Java小程序或服务器端渲染
http://en.wikipedia.org/wiki/Server-side_JavaScript
http://htmlunit.sourceforge.net/ <-java不是jscript
编辑09-2013 更新
所有这些都可以通过HTML5套接字完成.但是easyXDM对于非HTML5投诉页面来说是一个很好的后备.
方案1非常好的解决方案!
使用easyXDM
在您的服务器上,您可以设置一个页面
<html>
<head>
<script src="scripts/easyXDM.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
var transport = new easyXDM.Socket(/** The configuration */{
remote: "http://www.OTHERDOMAIN.com/resize_intermediate.html?url=testpages/resized_iframe_1.html",
//ID of the …Run Code Online (Sandbox Code Playgroud) 如何使用转义双引号替换批处理文件参数中的所有双引号?这是我当前的批处理文件,它扩展了字符串中的所有命令行参数:
@echo off
call bash --verbose -c "g++-linux-4.1 %*"
Run Code Online (Sandbox Code Playgroud)
然后它使用该字符串调用Cygwin的bash,执行Linux交叉编译器.不幸的是,我将这些参数传递给我的批处理文件:
"launch-linux-g++.bat" -ftemplate-depth-128 -O3 -finline-functions
-Wno-inline -Wall -DNDEBUG -c
-o "C:\Users\Me\Documents\Testing\SparseLib\bin\Win32\LinuxRelease\hello.o"
"c:\Users\Me\Documents\Testing\SparseLib\SparseLib\hello.cpp"
Run Code Online (Sandbox Code Playgroud)
传入第一个路径的第一个引用是过早地结束传递给GCC的字符串,并将其余参数直接传递给bash(这非常失败.)
我想如果我可以将参数连接成一个单独的字符串然后转义它应该正常工作的引号,但我很难确定如何做到这一点.有人知道吗?
只是想知道是否有人可以帮我解决一些我想写的msbuild脚本.我想要做的是使用msbuild将文件夹中的所有文件和子文件夹复制到另一个文件夹.
{ProjectName}
|----->Source
|----->Tools
|----->Viewer
|-----{about 5 sub dirs}
Run Code Online (Sandbox Code Playgroud)
我需要做的是将tools文件夹中的所有文件和子文件夹复制到应用程序的调试文件夹中.这是我到目前为止的代码.
<ItemGroup>
<Viewer Include="..\$(ApplicationDirectory)\Tools\viewer\**\*.*" />
</ItemGroup>
<Target Name="BeforeBuild">
<Copy SourceFiles="@(Viewer)" DestinationFolder="@(Viewer->'$(OutputPath)\\Tools')" />
</Target>
Run Code Online (Sandbox Code Playgroud)
构建脚本运行但不复制任何文件或文件夹.
谢谢
scripting ×10
command-line ×3
shell ×3
batch-file ×2
linux ×2
arguments ×1
backup ×1
bash ×1
build ×1
bytecode ×1
c# ×1
cross-domain ×1
css ×1
email ×1
escaping ×1
html ×1
iframe ×1
locking ×1
msbuild ×1
parameters ×1
powershell ×1
python ×1
quotes ×1
ruby ×1
sed ×1
sql-server ×1
terminal ×1