我写了一个小程序,从网上下载图像到不同的文件夹.我想创建一个快速和脏的批处理文件语法,并想知道不同变量的最佳分隔符是什么.
变量可能包括网址,文件夹路径,文件名和一些自定义消息.
那么有没有任何字符不能用于前三个?这将是用作分隔符的明显选择.好老逗号怎么样?
谢谢!
我在测试代码时遇到了一个大问题.而这个问题是烦人的消息...... "超出最大递归深度".看看它是如何工作的:
@echo off
REM ---------- MAIN MENU ----------
:Main
echo 1.Supermarket
echo 2.Exit Batch
setlocal
for /f %%A in ('"prompt $H & echo on & for %%B in (1) do rem"') do set "BS=%%A"
set /p Menu=%BS% Type in your option {1,2} followed by ENTER:
if not '%Menu%'=='' set Menu=%Menu:~0,1%
if %Menu% EQU 1 ENDLOCAL & goto Super
if %Menu% EQU 2 goto EOF
REM ---------- SECONDARY MENU ----------
:Super
echo 1.Supermarket
echo a.Apple
echo b.Banana
setlocal
for …Run Code Online (Sandbox Code Playgroud) 我需要编写一个批处理作业,该作业从数据库表中获取行并基于某些条件,写入其他表或使用特定值更新此行.我们使用spring和jdbc来获取结果集,并使用计划每周运行的独立java程序迭代并处理记录.我知道这不是正确的方法,但我们必须将其作为临时解决方案.随着记录增长到数百万,我们最终会出现内存异常,所以我知道这不是最好的方法.
你们中的任何人都可以推荐一种处理这种情况的最佳方法吗?
使用线程并为每个线程获取1000条记录并并行处理它们?
(要么)
使用任何其他批处理机制来执行此操作(我知道有弹簧批但从未使用过此)
(要么)
还有其他想法吗?
我需要在一个循环中重命名多个文件并包含一个时间戳...我的斗争开始于更新每个文件的时间戳,因此该文件具有唯一的名称.
setlocal enabledelayedexpansion
SET date=%date:~-4,4%%date:~-10,2%%date:~-7,2%
for /f %%a in ('dir /b TCA_*') do (SET
time=%time:~-11,2%%time:~-8,2%%time:~-5,2%%time:~-2,2%
ren %%a %date%TCA_%time%.txt)
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一个.CSV,我试图从数据中创建另一个文件,但是当我运行它时,它会跳过空白条目.例如,如果一条线是
value,value,value,,,value
,我试图获得第4列,它将吐出第6列.大概是因为它是下一个有效值.我不希望它跳过空白条目,因为它可能弄乱我正在尝试制作的表格.有谁知道如何解决这个问题?(欢迎任何提示,因为我吮吸批处理脚本)
这是我的脚本:
FOR /F "tokens=1,2,3,4,5,6,7,8,9,10,11,12,13,14 delims=," %%a in (file.csv) DO (
echo %%a %%b %%c %%d %%e %%f %%g %%h %%i %%j %%k %%l %%m %%n
)
pause
Run Code Online (Sandbox Code Playgroud) 有没有办法在批处理模式下使用ggsave?当我说批处理模式时,我的意思是我首先通过ggplot绘制所有绘图,然后将每个绘图保存在特定文件夹中.这是一个被称为的论点
plot=last_plot()
Run Code Online (Sandbox Code Playgroud)
但没有其他选择.还有其他选择,比如plot = all_plot()?
我有一个包含大约3000条记录的电子表格.我需要将所有这些数据插入到新表中.所以在这种情况下使用批量插入机制是相当不错的.
所以我尝试了一个简单的例子,
<cfquery datasource="cse">
insert into Names
values
<cfloop from="1" to="3000" index="i">
('#i#')
<cfif i LT 3000>, </cfif>
</cfloop>
</cfquery>
Run Code Online (Sandbox Code Playgroud)
但由于SQL Server 2008一次只允许1000次批量插入,因此我收到错误.
那么如何制作单独的批次,每次包含999条记录并且可以一次执行?
在我的批处理文件中,我开始使用变量,突然之后,以下命令不再起作用.
这是我的代码中有问题的部分
SET "path=MyPath"
REG ADD "HKCU\Software\ETC\ETC" /f /v "MyRegNameA" /t REG_SZ /d "%path%\ETC\"
REG ADD "HKCU\Software\ETC\ETC" /f /v "MyRegNameB" /t REG_SZ /d "%path%"
PAUSE
START "" "%path%\MyProgram.exe"
Run Code Online (Sandbox Code Playgroud)
此代码无需使用SET...,当然也可以MyPath代替%path%.错误消息是:
The command "REG" is either spelled wrong or couldn't be found
Run Code Online (Sandbox Code Playgroud)
我以前在这里找到了如何使用变量:stackEx.SetVariables 据我所知,我正在按照假设完成它,到目前为止我找不到具体的帮助.
例:
我有三个表:位置,部门,员工
现在,让我们说位置和部门是已经具有完整数据的主表。现在,我需要通过JPA插入1000名员工列表。我也与员工表中的位置和部门有关系。
所以现在在执行以下操作后将条目插入到Employee中:
for loop...1000
Employee e = new Employee();
e.setId(12);
e.setEmpname("ABC");
Location l = null;
l = em.find(Location.class, 234);
e.setLocation(l);
Department d = null;
d = em.find(Department.class, 111);
e.setDepartment(d);
em.persist(e);
loop ends...
Run Code Online (Sandbox Code Playgroud)
将数据加载到数据库需要一些时间。这是通过JPA插入数据的唯一方法,因为它会降低性能。我不想使用本机查询。请建议是否有人有更好的方法来提高效率。
foreach (var deviceId in deviceList)
{
// register device into IoT hub
Device device;
RegistryManager registryManager = RegistryManager.CreateFromConnectionString("connectionString");
device = await registryManager.AddDeviceAsync(new Device(deviceId));
// send message to iot hub
DeviceClient deviceClient;
await deviceClient.SendEventAsync("data");
}
Run Code Online (Sandbox Code Playgroud)
如果设备是10000,那我怎么能把它分成多个批处理并处理呢?
我试过这个代码,但它并没有让人失望
public IEnumerable<user> GetBatch(int pageNumber)
{
return users.Skip(pageNumber * 1000).Take(1000);
}
Run Code Online (Sandbox Code Playgroud) batch-processing ×10
batch-file ×3
for-loop ×2
java ×2
batch-rename ×1
c# ×1
c#-4.0 ×1
cmd ×1
coldfusion ×1
datetime ×1
foreach ×1
ggplot2 ×1
jdbc ×1
jpa-2.0 ×1
loops ×1
orm ×1
plot ×1
r ×1
registry ×1
spring ×1
spring-batch ×1
sql ×1
sql-server ×1
syntax ×1
windows ×1