我正在尝试构建一个函数,它将向我显示某个文件名所在的所有路径.该函数将采用一个参数,即文件名.结果将是所有路径的列表,或者说系统上没有此类文件的消息.
我是Powershell的新手,我还没有得到语法.我试过这个:
Get-ChildItem -Path -Include notepad.exe
Run Code Online (Sandbox Code Playgroud)
但是这引发了错误信息.我正在尝试:
$i="notepad.exe"
Foreach ($i in Get-ChildItem c:\ -Recurse){echo -Path}
Run Code Online (Sandbox Code Playgroud)
从现在开始,它仍在运行,不知道会发生什么,真的.
编辑:回应了大量的线条,只是说"-Path"......
任何人都可以帮助解决这个问题吗?顺便说一句,我正在运行Powershell 1.0.
因此,为了解释在执行此命令时我希望看到的内容,以下是我在查找*.txt后所期望的示例:
C:/foo.txt
C:/A/foobar.txt
C:/A1/foo.txt
依此类推,列出我的硬盘上所有.txt文件的路径.只有路径,每行一个,不需要额外的信息.
EDIT2:
我做到了 对于那些在未来寻找这个问题的人,我要留下这个问题.
我使用的功能就是这个(这个具体的例子将为您提供硬盘上所有.zip文件的列表,在需要时进行编辑):
Get-ChildItem -Path c:\ -Include "*.zip" -Recurse -Force -Name > c:\listOfPaths.txt
Run Code Online (Sandbox Code Playgroud)
这在我的C:\文件夹中创建了一个名为listOfPaths.txt的文件,其中包含在我的硬盘驱动器的所有子文件夹中以.zip结尾的任何文件的所有出现的列表.
没有提到"c:\"位,但我不介意.
EDIT3:
感谢capar获得更完整的版本.
这是capar的代码(或者我是如何使用它的,因为Get-Children在1.0中不起作用)
Get-ChildItem -Path c:\ -Recurse *.txt | Select-Object -Property FullName
Run Code Online (Sandbox Code Playgroud) 我读过这个:https://stackoverflow.com/questions/1176053/,这是一篇富有洞察力的文章.
但是,我在WMI方面没有很好的背景,我发现大量的文档都是压倒性的.我找不到我要找的东西.
情况是我有一个设备将通过USB端口发送数据到相关PC的声卡.
考虑相机软件.您连接相机,启动程序,您可以使用相机控制程序,反之亦然.例如,您可以按相机上的按钮,它将开始传输到程序.或者您可以单击程序中的按钮,它将开始查询数据.
我需要找到一种方法来查询和捕获这些数据,安全和正确.它可能是一个字节流,但搜索它不会产生任何结果.
我想我首先需要以某种方式连接.然后发送查询.然后收到.
但是,连接和查询两者是我在示例代码或MSDN上的System.Management文档中找不到的.
我有一个基类,我的所有控制器测试都扩展.这是设置的,因此每个单元测试都可以有自己的Fixture来加载.
因此@Before覆盖将检查测试所需的夹具是什么,加载它然后开始测试.
这里的问题是每次重新加载夹具.即使该方法只对数据库进行了选择,也没有改变.
Play Framework使用的内部存储器数据库是H2数据库.我想知道在单元测试完成后是否有办法检查,如果数据库发生了变化,如果没有,则跳过重新加载完全相同的数据.
我尝试过identity_scope,无论如何都会返回null.
当我第一次开始使用面向对象的编程语言时,我被教导了以下规则:
在类中声明字段时,不要初始化它.在构造函数中执行此操作.
C#中的一个例子:
public class Test
{
private List<String> l;
public Test()
{
l = new List<String>();
}
}
Run Code Online (Sandbox Code Playgroud)
但是当有人最近问我为什么这样做时,我无法想出一个理由.我并不熟悉C#(或其他编程语言)的内部工作原理,因为我相信这可以在所有OO语言中完成.
那么,为什么是这样呢?安全吗?属性?
存储基类指针列表的常见做法是什么,每个基类指针都可以描述多态派生类?
为了详细说明并且为了一个简单的例子,我假设我有一组具有以下目标的类:
现在除了这个必需的功能,我想解决以下要点:
下面的代码演示了一个简单的例子,我提出了(我再次寻找一个经常深思熟虑的方法,这样做,我的可能不是那么好)解决方案.
class Shape {
public:
virtual void draw() const = 0;
virtual void serialize();
protected:
int shapeType;
};
class Square : public Shape
{
public:
void draw const; // draw code here.
void serialize(); // serialization here.
private:
// square member variables.
};
class Circle : public Shape
{
public:
void draw const; // draw code here.
void serialize(); // serialization here.
private:
// circle member variables.
};
// The proposed solution: …Run Code Online (Sandbox Code Playgroud) 我试图弄清楚如何从詹金斯(Jenkins)启动的jacoco生成的代码覆盖率报告中排除文件夹列表。
似乎可以排除类,但不能排除文件夹,这对我来说很烦人,因为我已经开始将一个很大的库用于在线支付系统。运行这些单元测试意味着在该平台上不断创建测试帐户,而不得不再次删除它们。詹金斯(Jenkins)每一个尖齿都在奔跑。
与只排除每个类相比,只排除文件夹要容易得多。
在尝试从Play 2.2更新到Play 2.4时,我遇到了这个绊脚石.
我已经添加了memcached2插件但已禁用.
我的conf文件:
# Cache configuration
# ~~~~~
# To avoid conflict with play2-memcached's Memcached-based cache module
play.modules.disabled+="com.github.mumoshu.play2.memcached.MemcachedModule"
play.modules.enabled+="play.api.cache.EhCacheModule"
# Well-known configuration provided by Play
play.modules.cache.defaultCache=default
play.modules.cache.bindCaches=["db-cache", "user-cache", "session-cache"]
Run Code Online (Sandbox Code Playgroud)
摘自github页面上的示例:https://github.com/mumoshu/play2-memcached
我的build.sbt中的相关部分:
lazy val buildSettings = Seq(
scalaVersion := "2.10.5"
)
lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean, SbtTwirl)
.settings(buildSettings: _*)
libraryDependencies ++= Seq(
javaJdbc,
cache,
javaWs,
"net.spy" % "spymemcached" % "2.12.0",
"com.github.mumoshu" %% "play2-memcached-play24" % "0.7.0"
)
Run Code Online (Sandbox Code Playgroud)
我得到以下stacktrace:
play.api.UnexpectedException: Unexpected exception[NoClassDefFoundError: play/api/cache/CachePlugin]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:169) …Run Code Online (Sandbox Code Playgroud) 我在旧的powershell文件夹中找到了这个函数:
Function listAllPaths([string]$fromFolder,[string]$filter) {
Get-ChildItem -Path $fromFolder -Recurse $filter | Select-Object -Property FullName
}
Run Code Online (Sandbox Code Playgroud)
并希望测试它.我把它放在我的个人资料中,启动Powershell并键入以下内容:
PS C:\> listAllPaths("C:\Downloads\Nemi","*.jpg")
Run Code Online (Sandbox Code Playgroud)
该文件夹是自定义的,它恰好与Vista下载文件夹具有相同的名称.在考虑中的子文件夹中有什么,但 JPG文件,但没有什么是显示在屏幕上.谁能告诉我我做错了什么?(因为这可能是我做错了什么,我很确定).
我正在 Play 框架中的 Java 项目,版本 2.2.1
我正在尝试对我的模型实施批处理操作,并返回一条消息,显示每个模型实例上查询的状态代码。所以这是一个调用另一个控制器方法并从中获取结果的控制器方法。
问题是,我需要从该返回中获取该状态代码,因为它必须在消息中。
似乎没有办法获得这个状态码。
我试过这个:检查结果是否是一个好的游戏框架
但它不会编译,Java 说无法完成转换。
那么,如何从结果中获取该数字?
再一次,这是一个 Java 项目,我所有的结果都是 play.mvc.Result,而不是 play.mvc.api.Result。
编辑:
假设您有一条执行 DELETE 的路由:
DELETE /url/delete/:id/ myapp.mycontroller.delete(id: Long)
Run Code Online (Sandbox Code Playgroud)
控制器方法如下所示:
public static Result delete(Long id) {
Mymodel m = MyModel.get(id);
if (m.hasDependencies) {
throw new CustomException(statusCode, message);
}
m.delete();
return ok();
}
Run Code Online (Sandbox Code Playgroud)
因此,它要么传递 ok() 要么传递带有自定义状态代码的异常。
我正在谈论的批处理功能将是同一控制器中的另一种方法。这将通过表单元素接收一批 ID。然后目标是在所有这些 id 上调用所需的函数。
重点是使用现有的控制器方法,因为它们包含需要考虑某些模型的其他检查和故障保护。
所以我有另一种方法来接收这个 Id 列表,然后在 try/catch 块中的循环中调用适当的函数。
这个想法是我想找出结果的状态码是什么。就是这样。而已。我想要结果的状态码。
我在 Ansible 中收到以下警告:
[WARNING]: Non-string value found for env option. Ambiguous env options should be wrapped in quotes to avoid YAML parsing. This will become an error in Ansible 2.8. Key: PORT; value will be treated as: 12345
Run Code Online (Sandbox Code Playgroud)
所以我去查找这个值的来源并将它的所有实例都用引号括起来。或者我是这么想的。我仍然收到警告。
所以我去了代码中出现的地方,好像是这样的:
docker_container:
env: '{{ params | combine(extra_params, {"PORT": my_port|int + amount|int * 10 })}}'
Run Code Online (Sandbox Code Playgroud)
这是一种用于处理同一容器的多个实例的设置,每个实例都有一个唯一的端口,以免相互干扰。
而且我不确定如何在不破坏该设置的情况下解决该问题。计算完成后是否可以再次转换为字符串?我应该提前做吗?这里最好的选择是什么?
java ×2
powershell ×2
ansible ×1
c# ×1
c++ ×1
declaration ×1
ehcache ×1
h2 ×1
jacoco ×1
jenkins ×1
oop ×1
polymorphism ×1
unit-testing ×1
usb ×1