我是powershell的新手,并试图自学基础知识.我需要编写一个ps脚本来解析一个文件,这并不算太难.
现在我想更改它以将变量传递给脚本.该变量将是解析字符串.现在,变量将始终为1个单词,而不是一组单词或多个单词.
这看起来很简单,但对我来说却是一个问题.这是我的简单代码:
$a = Read-Host
Write-Host $a
Run Code Online (Sandbox Code Playgroud)
当我从命令行运行脚本时,变量传递不起作用:
.\test.ps1 hello
.\test.ps1 "hello"
.\test.ps1 -a "hello"
.\test.ps1 -a hello
.\test.ps1 -File "hello"
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我已经尝试了许多没有成功的方法,脚本将值输出它.
脚本确实运行,并等待我键入一个值,当我这样做时,它会回显该值.
我只是想让它输出我传入的值,我错过了什么小事?
谢谢.
我有一个报告,我每周从系统运行一次,数据被导出到excel文档中.我已经设置了将数据导出到excel的工具,以便在格式化方面做得不错,但是一旦数据在excel中,我还需要做更多的工作.
是否可以创建一个独立的宏,将其保存在Microsoft Office文件夹中,并在打开此文件后能够调用它?我已经编写了大量的宏,这些宏是给定电子表格的一部分,但从未尝试过对许多电子表格开放的宏.
是否可能,以及我可以学习如何实现这一目标的良好资源的起点方向?谢谢.
我正在尝试使用Perl将数据写入MySQL数据库.但是,当我运行我的脚本时,我收到以下错误:
Can't locate loadable object for module DBD::mysql in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at LargeLDAPSearch.pl line 10.
我确实有这些"使用"语句和以下代码.这只是一个小摘录,因为脚本在我尝试数据库连接之前工作:
use DBD::mysql;
use strict;
use warnings;
my $query_handle;
my ($platform,$database,$host,$port,$db_user,$pw) = ("mysql","results","localhost","3306","root","mysql123");
my $dsn = "dbi:$platform:$database:$host:$port";
my $connect = DBI->connect($dsn,$db_user,$pw) || die "Could not connect to database";
my $query_insert = "INSERT INTO " . $dbname . "(uid,status,lstpwdset,reset) VALUES (" . $strSAMA . "," . $strAcctControl . "," . $pwLS . "," . $reset . ")";
$query_handle = $connect->prepare($query_insert);
$query_handle->execute();
Run Code Online (Sandbox Code Playgroud)
我已经进入我本地的Perl文件夹,并搜索了lib文件目录.在 …
当我尝试通过cmd提示运行我的perl脚本我的json字符串返回时,[] 我已阅读其他帖子,并修复了我的数据库,utf8错误仍然存在.我已经尝试了两种不同的方式来编码我的perl字符串,第一个是$json = encode_json @temp_array返回此错误hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this 但是,当我使用这一行时,$json_text = $json->encode(@temp_array)我只是得到[]
这是我的perl:
my $json_text;
my $json = JSON->new->utf8;
my @temp_array =[];
my $temp_array;
while (@data = $query_handle->fetchrow_array())
{
my %json_hash = ();
my $hash_ref;
%json_hash = (
"User ID" => $data[0],
"Status" => $data[1],
"Last Password Reset" => $data[2],
"Reset Needed" => $data[3]
);
$hash_ref = \%json_hash;
push …Run Code Online (Sandbox Code Playgroud) 我制作一个spreed表来评估网页的用户体验.我想知道,我可以让用户打开一个工作簿,让表单弹出窗口在一个部分显示一个网页,并在另一部分有问题.网页必须是活动的,而不是图像.如果可行的话,我可以根据其他帖子或网站提供指示吗?谢谢.

我试图解析一个字符串并将部分放在一个数组中,然后将数组组件分配给新的变量.我在我的代码中以完全相同的方式完成了它并且它可以工作,但现在它失败了,我不知道为什么.我认为这很简单,我太接近了.
sub timeDiff {
my ($tday,$tmon,$tyear,$pday,$pmon,$pyear,$tvalue,$pvalue,$reset);
my (@arrSplitTDate,@arrSplitPDate,$arrSplitTDate,$arrSplitPDate);
$tvalue = $_[0];
$pvalue = $_[1];
print $tvalue;
print $pvalue;
@arrSplitTDate = split(/\//, $tvalue);
$tday = $arrSplitTdate[1];
$tmon = $arrSplitTdate[0];
$tyear = $arrSplitTdate[2];
print $tday . "\n";
print $tmon . "\n";
print $tyear . "\n";
}
Run Code Online (Sandbox Code Playgroud)
这是错误:
Global symbol "@arrSplitTdate" requires explicit package name at LargeLDAPSearch.pl line 173, <DATA> line 558.
Run Code Online (Sandbox Code Playgroud)
有人看到错误的原因吗?谢谢.