小编Sta*_*agg的帖子

忽略批处理文件中的百分号

我有一个批处理文件,将文件从一个文件夹移动到另一个文件夹 批处理文件由另一个进程生成.

我需要移动的一些文件中包含字符串"%20":

move /y "\\myserver\myfolder\file%20name.txt" "\\myserver\otherfolder"
Run Code Online (Sandbox Code Playgroud)

这会失败,因为它试图找到一个名称为的文件:

\\myserver\myfolder\file0name.txt
Run Code Online (Sandbox Code Playgroud)

有什么办法可以忽略%吗?我无法改变生成的文件以逃避这种情况,例如加倍百分号(%%),逃避/^(插入符号)等.

escaping batch-file

30
推荐指数
4
解决办法
3万
查看次数

使用cmd.exe更改目录并在该目录中运行命令

我想做的就是:

  1. 更改为其他驱动器的特定目录
  2. 在该目录中运行命令,例如dir

我需要使用cmd.exe从一个不同的驱动器开始在一行中执行此操作

我会这样做:

c:
cd temp
dir 
Run Code Online (Sandbox Code Playgroud)

所以到目前为止,我有一个声明:

cmd /c c: & cd\temp & dir
Run Code Online (Sandbox Code Playgroud)

但这只是给了我开始的P:目录的目录.如何从c:\ temp返回目录?

我无法运行批处理文件,它必须是一行语句.

cmd

18
推荐指数
2
解决办法
7万
查看次数

如何使用Toad从Oracle中的函数获取返回值

如何在Toad中找到函数的返回值是什么?

我正在运行类似这样的代码:

declare r number;
begin
    r:= packagename.functionname(paraname);
end;
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何将"r"返回到数据网格,一些帖子建议使用DBMS输出,但在运行代码时没有写入任何内容.

该函数执行更新,提交,调用其他函数并在其中有游标.

oracle toad

7
推荐指数
2
解决办法
3万
查看次数

在 Hive 中使用列名中的空格创建视图

在 Hive 0.7 中,有没有办法创建列名中带有空格的视图?在 SQL Server 中,我会这样做:

CREATE VIEW test_vw
AS 
SELECT col_name as [col name with spaces]
FROM   test_tbl;
Run Code Online (Sandbox Code Playgroud)

是否有等效的蜂巢?

我们需要带有名称的视图供最终用户工具使用。

hive

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

glue.driver.aggregate.numFailedTasks 当 Glue 作业失败时,CloudWatch 指标不会记录失败

我有一个 Glue PySpark 作业,大约 2 分钟后失败AnalysisException,运行状态为Failed。我想检测它的 CloudWatch 警报。在 CloudWatch 指标中,我预计它在此期间记录的计数为 1,但实际记录为 0。我正在使用以下指标配置:

   MetricName: glue.driver.aggregate.numFailedTasks
   JobRunId: ALL
   JobName: <MyGlueJobName>
   Statistic: Sum
   Period: 1 min
   Type: Count
Run Code Online (Sandbox Code Playgroud)

看起来其他指标正在工作,例如glue.driver.jvm.heap.used但不是numFailedTasks。难道我做错了什么?

amazon-web-services amazon-cloudwatch aws-glue

5
推荐指数
1
解决办法
2710
查看次数

使用tf.exe获取不同工作区的代码

我正在使用一个本地工作区在我的机器上开发代码来获取并检查来自TFS的代码.我还在构建一个使用我的机器并需要获取最新代码的自动CI应用程序.我使用以下内容来获取CI应用的最新信息:

tf get $/abc/abc /recursive /all
Run Code Online (Sandbox Code Playgroud)

我想使用不同的本地工作区(CI工作区)来获取最新信息以避免与开发代码发生冲突.但是使用tf,我在使用get命令时无法指定工作空间,并且MSDN doc无论如何都不显示.如何使用"tf get"指定我想要使用的工作空间?

tfs continuous-integration tf-cli

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

select-xml 不返回任何结果

我正在尝试使用 powershell 命令 select-xml 从 xml 文件中选择数据。当我运行下面的命令时,没有返回结果或错误。我希望屏幕上返回版本列表。这有什么问题吗?

PS C:\> select-xml -path "C:\t.xml" -xpath "//edition" | foreach {$_.node.InnerXML}
PS C:\>
Run Code Online (Sandbox Code Playgroud)

XML 文件 (C:\t.xml) 是:

 <?xml version="1.0" encoding="utf-8"?>
  <Book>
    <projects>
      <project name="Book1" date="2009-01-20">
        <editions>
           <edition language="English">En.Book1.com</edition>
           <edition language="German">Ge.Book1.Com</edition>
           <edition language="French">Fr.Book1.com</edition>
           <edition language="Polish">Pl.Book1.com</edition>
        </editions>
      </project>
    </projects>
  </Book>
Run Code Online (Sandbox Code Playgroud)

powershell

3
推荐指数
1
解决办法
7397
查看次数

解压缩后无法删除压缩文件

我正在尝试在解压缩Windows上的内容后删除压缩文件.内容可以存储在zip中的文件夹结构中.我正在使用该with语句,并认为这将关闭类文件对象(sourcevar)和zip文件.我删除了与保存源文件相关的代码行.

import zipfile
import os

zipped_file = r'D:\test.zip'

with zipfile.ZipFile(zipped_file) as zip_file:
    for member in zip_file.namelist():
        filename = os.path.basename(member)
        if not filename:
            continue
        source = zip_file.open(member)

os.remove(zipped_file)
Run Code Online (Sandbox Code Playgroud)

返回的错误是:

WindowsError: [Error 32] The process cannot access the file because it is being used by another process: 'D:\\test.zip'
Run Code Online (Sandbox Code Playgroud)

我试过了:

  • os.remove如果这是一个轻微的时间问题,则循环在线路上
  • 明确使用close而不是withstatment
  • 尝试使用本地C驱动器并映射D驱动器

python windows python-2.7

3
推荐指数
1
解决办法
4140
查看次数

返回SQL Server 2016中STRING_SPLIT位置的值

我可以使用SQL Server 2016或更高版本中的STRING_SPLIT函数在特定位置返回值吗?

我知道选择的顺序不能保证,但它是否与STRING_SPLIT一致?

DROP TABLE IF EXISTS #split

SELECT 'z_y_x' AS splitIt
INTO #split UNION
SELECT 'a_b_c'

SELECT * FROM #split;

WITH cte
AS (
SELECT      ROW_NUMBER() OVER ( PARTITION BY s.splitIt ORDER BY s.splitIt ) AS position,
            s.splitIt,
            value
FROM        #split s
CROSS APPLY STRING_SPLIT(s.splitIt, '_')
)
SELECT * FROM cte WHERE position = 2
Run Code Online (Sandbox Code Playgroud)

这总是会返回第二个元素的值吗?b表示a_b_c,y表示z_y_x?

我不明白为什么Microsoft不会返回位置指示器列以及此函数的值.

sql-server

3
推荐指数
2
解决办法
1653
查看次数

执行计算时失去规模

我正在进行计算,但我没有得到预期的答案.我在计算时失去了一些规模.

计算公式为:651/1000*-413.72063274 = -269.33213191(至8 dp)

在SQL Server中我这样做:

declare @var numeric(28,8)
declare @a numeric(28,8)
declare @b numeric(28,8)

set @var = -413.72063274
set @a   = 651.00000000
set @b   = 1000.00000000

select CAST((@a/@b) * @var as numeric(28,8)) as result_1
     , CAST(CAST(@a as numeric(28,8)) 
      /CAST(@b as numeric(28,8)) as numeric(28,8)) 
      *CAST(@var as numeric (28,8))   as result_2
Run Code Online (Sandbox Code Playgroud)

结果是

result_1:-269.33213200(正确到6dp)
result_2:-269.332132(正确到6dp)

如何获取返回的查询:-269.33213191(正确到8dp)?

sql-server sql-server-2008

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

无法使用 create_dynamic_frame.from_catalog 从 AWS 胶水作业访问使用分区投影配置的表中的数据

我使用分区投影在 Athena 中设置了一个表。我没有在glue元数据目录中定义任何分区,我可以使用SQL在Athena OK中查看数据。

当我使用此表设置 Glue 作业时,Glue 似乎无法访问数据:

data = glueContext.create_dynamic_frame.from_catalog(
    database="db", table_name="a_table")

print (data.count()) # returns 0 :(
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以在不需要定义 Glue 元数据分区的情况下访问数据?我的印象是,如果 Athena 可以看到数据,Glue 也可以。

amazon-web-services amazon-athena aws-glue

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

在多种方法中使用StreamWriter实例进行日志记录

我想在我的应用程序中记录状态,我想避免将TextWriter参数传递给方法,例如

public static void M1(TextWriter w) 
Run Code Online (Sandbox Code Playgroud)

到我称之为的所有方法.无论如何要避免这样做?我想要类似下面的东西,但它有错误:当前上下文中不存在名称'w'

无论如何要使所有方法都能使用streamwriter的实例?或类似的东西?如果可能,你能提供一个例子.

    public static void Main(string[] args)
    {
        using (StreamWriter w = File.CreateText(ConfigManager.logFile))
        {
            Log("start");
            M1();
            Log("end");
        }
    }

    public static void M1()
    {
        Log("M1 start");
        Log("M1 end");
    }

    public static void Log(string logMessage)
    {
        w.WriteLine("[{0}][{1}] {2} ", String.Format("{0:yyyyMMdd HH:mm:ss}", DateTime.Now),
            "Info", logMessage);
        w.Flush();
    }
Run Code Online (Sandbox Code Playgroud)

.net c#

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