我正在编写运行可执行文件的脚本,每次可执行文件正常运行时,都必须创建目录和输出文件,然后将文件移动到目录中。问题来自目录的名称。我将名称作为参数传递给脚本,但名称不是我想要的名称,这里是代码:
IF ($args.Count -eq 2 -or $args.Count -eq 3) {
$c = 0
$i = 0
$cont = 1
do {
./simula.exe $cont RES
IF ($? -ne 0) {
$c = $c +1;
New-Item $args$c -ItemType directory
Move-Item RES $args$c
}
ELSE {
$i = $i +1;
}
$cont = $cont +1;
}
while ($c -le $args[1])
$c = $c -1;
"Shan generat $c simulacions correctes."
"Hi ha hagut $i simulacions erronies."
}
ELSE {
"Nombre de parametres incorrecte"
}
如果我这样运行它:.\treball DIREC 10
它应该创建11个名为DIREC1,DIREC2,... DIREC11的文件夹,并在每个目录中放置一个名为RES的文件。但是,它创建的目录的名称是:DIREC101,DIREC102,... DIREC1011。
我一直在触摸New-Item系列中的一些东西,但我找不到我需要的名字。我该怎么办?
答案 0 :(得分:1)
如果我没有错,那么您的脚本中的下面命令中的$args$c
部分只是执行字符串连接,因为每个文档都是filename
new-item
命令行中的New-Item $args$c -ItemType directory
。
101
因此,为了检查您是否喜欢以下内容,它将生成一个名为$argc = 10
$c = 1
New-Item $argc$c -ItemType directory
10+1
(OR)如下所示,名为$argc = 10
$c = 1
New-Item $argc + $c -ItemType directory
new-item
所以,为了实现你的目标,你需要事先进行添加,然后将它作为参数传递给11
命令行开关,如下所示,现在它将创建一个名为$argc = 10
$c = 1
$var = [int]$argc+[int]$c
New-Item $var -ItemType directory
的目录
{{1}}