通常,要求用户向批处理脚本提供文件名是一件混乱的事情,不需要拼写错误,带有空格的路径周围的引号等等.不幸的是,用户并不知道准确性.在直到运行时才知道输入文件位置的情况下,使用GUI进行文件选择输入可降低用户错误的可能性.
有没有办法File... Open
从Windows批处理脚本调用样式gui文件选择器或文件夹选择器?
如果脚本用户安装了PowerShell或.NET,则可以.请参阅以下答案.
我也有兴趣看看其他人能提供的其他解决方案.
我目前在我的捷径下有这个
C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -
在那之后运行我必须输入
cd x:
ENTER
然后我运行一个curl
不会改变的脚本.
我尝试通过运行以下命令来自动化它,但它似乎不起作用
我的SH文件
#!/bin/bash
cd x:
curl http://thedomain.com/update.json --connect-timeout 10000 --max-time 10000 --data-binary @jsonfilename -H 'Content-type:application/json;charset=utf-8;X-Vendor-Email=myemail@.com;'
Run Code Online (Sandbox Code Playgroud)
这就是我在CMD中运行的内容
mintty.exe --exec 'c:/cygwin/bin/test.sh'
Run Code Online (Sandbox Code Playgroud)
cygwin弹出2秒钟然后消失.
请帮忙
更新
新错误
$ /bin/test.sh
0 [main] bash 12000 child_info_fork::abort: cygreadline7.dll: Loaded to different address: parent(0x3B0000) != child(0x320000)
/bin/test.sh: fork: retry: Resource temporarily unavailable
0 [main] bash 12052 child_info_fork::abort: cygreadline7.dll: Loaded to different address: parent(0x3B0000) != child(0x2B0000)
/bin/test.sh: fork: retry: Resource temporarily unavailable
0 [main] bash 9304 child_info_fork::abort: …
Run Code Online (Sandbox Code Playgroud) 我有一个 Installshield 项目 .ism,我希望能够通过命令行运行它。有一种可能的方法可以通过 CommadnLine 使用 IsCmdBld.exe 生成新的产品代码
注意:不能使用其他构建软件
提前致谢
我查看了文档以及谷歌尝试学习的许多内容,但到目前为止,我已经空手而归:
1)是否有可设置的参数可以让我实现以下目的?如果有,我该如何配置?
我想设置批处理作业,这样除了"正常"优先级之外,我还可以选择运行"高"优先级作业,这会阻止其他人排队.在"正常"优先工作中,FIFO很好.我希望持续记录所提交的工作及其状态,最好是自动重试失败.
我特别使用Spring-Batch 3.0.3和Spring 4.0.6.我正在从JBoss AS 7.1.1服务器上的Web服务提交作业.
2)如果没有开箱即用的实现,我可以写一些东西(taskExecutor?)来实现这个目标吗?我怎么能这样做?
我得到了建议的ThreadPoolExecutor,但Job类仍然难以处理,因为我找不到指定作业类的位置.(由于多种原因,我正在使用jXML进行配置,而不是使用注释进行编程.)无论我做什么,部署总是继续使用org.springframework.batch.core.job.flow.FlowJob然后可以转换到不同的工作类.
我正在为春季批处理工作,供当前使用FlatFileItemWriter的作家使用。
我想根据一些字段值将输入文件内容写到多个平面文件中。默认情况下,Spring批处理是否支持任何类型的功能。[类似于CompositeItemWriter]
例如,我的输入文件内容是这样的。
john,35,retail,10000
joe,34,homeloan,20000
Amy,23,retail,2000
Run Code Online (Sandbox Code Playgroud)
现在,我想根据第三列编写两个不同的文件,这意味着第1行和第3行应转到file1,第2行应转到file2。
我的编写器配置是:
<bean id="fileWriter" class="org.springframework.batch.item.file.FlatFileItemWriter">
<property name="resource" value="file:C:/output.dat"/>
<property name="lineAggregator">
<bean class="org.springframework.batch.item.file.transform.DelimitedLineAggregator">
<property name="delimiter" value="|" />
<property name="fieldExtractor">
<bean class="org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor">
<property name="names" value="field1,field2...." />
</bean>
</property>
</bean>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud) 我有数百个 csv 文件,我想搜索字符串“Keyed,Bet”并将其更改为“KeyedBet”。该字符串可能在也可能不在文件中,并且可能在不同文件的不同列中。
我拼凑了下面的脚本,但它不起作用。我肯定不正确地使用了replace(),但无法弄清楚如何,并且在我真的不需要时创建一个新文件-如果它只是更新当前文件并以相同的名称保存,那将是很好(但超出了我的初学者能力)。
我这里哪里出错了?谢谢您的帮助!
import os
import csv
path='.'
filenames = os.listdir(path)
for filename in filenames:
if filename.endswith('.csv'):
r=csv.reader(open(filename))
new_data = []
for row in r:
replace("Keyed,Bet","KeyedBet")
new_data.append(row)
newfilename = "".join(filename.split(".csv")) + "_edited3.csv"
with open(newfilename, "w") as f:
writer = csv.writer(f)
writer.writerows(new_data)
Run Code Online (Sandbox Code Playgroud) 我想知道通过执行HTTP批处理请求而获得的性能提升。是否仅将往返次数减少为1,而不是将n减少为HTTP请求数的n倍?如果是这样,我想您可以保持http连接打开并通过发送HTTP消息,一旦完成,您可以将其关闭以提高性能。
我在网上找到了与这些类似的命令。我想将文件名中的括号替换为空格或空字符串。
我尝试更改的文件如下所示:
Nehemiah (1).mp3
Nehemiah (2).mp3
Nehemiah (11).mp3
Run Code Online (Sandbox Code Playgroud)
真的,我也希望它们看起来像下面这样:
Nehemiah 01.mp3
Nehemiah 02.mp3
Nehemiah 11.mp3
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的脚本。
Dir | Rename-Item –NewName { $_.name –replace “(“,”” }
Dir *.mp3 | rename-item -newname { $_.name -replace " ("," " }
Run Code Online (Sandbox Code Playgroud)
这些都不起作用。
这是我收到的错误消息。
Rename-Item :参数“NewName”的脚本块输入失败。正则表达式模式 ( 无效。在 line:1 char:34 + Dir *.mp3 | rename-item -newname { $_.name -replace " ("," " } + ~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (C:\Users...ehemiah (1).mp3:PSObject) [Rename-Item ], 参数 ndingException +fullyQualifiedErrorId : ScriptBlockArgumentInvocationFailed,Microsoft.PowerShell.Commands.RenameItemCommand
我如何批量获取随机字母输出,而不必每次都使新的随机字母更新就可以更新,就像这样
@echo off
title random letter gen
echo welcome
echo press any key to get a random letter
!!!!!!!!!!!!i want the %letter% to give a random letter!!!!!!!!!!
echo %letter%
echo press a key to get a new letter
pause
goto a
:a
echo %letter%
pause
goto a
Run Code Online (Sandbox Code Playgroud) batch-file ×3
spring-batch ×3
java ×2
powershell ×2
windows ×2
.net ×1
architecture ×1
automation ×1
cmd ×1
csv ×1
cygwin ×1
http ×1
mintty ×1
performance ×1
python ×1
python-2.7 ×1
rest ×1
spring ×1