小编Her*_*CSO的帖子

Windows高级文件匹配

我正在尝试使用批处理文件列出目录中的文件,使得仅文件名(减去扩展名)仅匹配数字模式,例如125646543.pdf,这很容易表达为正则表达式[\ d] +\.pdf但当然我没有仅使用Windows机制的这些细节...我正在尝试使用仅限Windows的机制,因为我无法在目标服务器上安装任何其他东西,并且需要支持至少在Windows Server 2000和2003上.

我会针对这个特定的例子采取一个特定的解决方案,或者更通用的东西,比那些更为先进的东西*和?

我已经尝试使用set/a来为文件名添加一个数字,但由于它将字符串解释为环境变量而0(如果它们未定义),这不能很好地工作.我也尝试使用if %% ~na GTR 0,但它也匹配文本文件名,例如report.pdf,因为它似乎在这种情况下进行字符串比较.

regex windows batch-file

11
推荐指数
1
解决办法
2万
查看次数

如何正确实现Net :: SSH端口转发

我一直试图使端口转发与Net :: SSH一起正常使用。据我了解,如果我希望能够从同一个Ruby程序中使用Net :: SSH会话,则事件处理循环实际上可以处理通过连接发送的数据包。但是,这会导致您在下面看到的丑陋:

#!/usr/bin/env ruby -w
require 'net/ssh'
require 'httparty'
require 'socket'
include Process

log = Logger.new(STDOUT)
log.level = Logger::DEBUG

local_port = 2006
child_socket, parent_socket = Socket.pair(:UNIX, :DGRAM, 0)
maxlen = 1000
hostname = "www.example.com"

pid = fork do
  parent_socket.close
  Net::SSH.start("hostname", "username") do |session|
    session.logger = log
    session.logger.sev_threshold=Logger::Severity::DEBUG
    session.forward.local(local_port, hostname, 80)
    child_socket.send("ready", 0)
    pidi = fork do
      msg = child_socket.recv(maxlen)
      puts "Message from parent was: #{msg}"
      exit
    end
    session.loop do
      status = waitpid(pidi, Process::WNOHANG)
      puts "Status: #{status.inspect}"
      status.nil? …
Run Code Online (Sandbox Code Playgroud)

ruby port portforwarding forward net-ssh

4
推荐指数
1
解决办法
1361
查看次数

标签 统计

batch-file ×1

forward ×1

net-ssh ×1

port ×1

portforwarding ×1

regex ×1

ruby ×1

windows ×1