Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net PowerShell FSW脚本无法运行_.net_Powershell - Fatal编程技术网

.net PowerShell FSW脚本无法运行

.net PowerShell FSW脚本无法运行,.net,powershell,.net,Powershell,我正在尝试监视一个文件夹,用户将把包含文件的文件夹复制到公共空间。复制文件夹后,脚本将创建一个目标文件夹,并为源文件夹中的每个文件执行一个批处理文件,并传递两个变量;第一个是文件名,第二个是目标文件夹。处理完所有文件后,脚本应将源文件夹移动到存档中,并在名称中添加“_archive”文本对其进行重命名 我无法正确执行脚本的任何部分。当我检查作业状态时,它显示为失败。如果停止作业并将其删除,则无法注销事件。任何帮助都将不胜感激 以下是脚本: $inputFolder = 'c:\cat2proe\

我正在尝试监视一个文件夹,用户将把包含文件的文件夹复制到公共空间。复制文件夹后,脚本将创建一个目标文件夹,并为源文件夹中的每个文件执行一个批处理文件,并传递两个变量;第一个是文件名,第二个是目标文件夹。处理完所有文件后,脚本应将源文件夹移动到存档中,并在名称中添加“_archive”文本对其进行重命名

我无法正确执行脚本的任何部分。当我检查作业状态时,它显示为失败。如果停止作业并将其删除,则无法注销事件。任何帮助都将不胜感激

以下是脚本:

$inputFolder = 'c:\cat2proe\convertSource'      # Enter the root path of the   source folder.
$filter = '*.*'                                 # You can enter a wildcard filter here.
$outputFolder = 'c:\cat2proe\convertDest'       # Enter the root path of the destination folder
$storageFolder = 'c:\cat2proe\Archive'          # Enter the root path of the archive folder

$fsw = New-Object IO.FileSystemWatcher $inputFolder, $filter -Property @{IncludeSubdirectories = $true;NotifyFilter = [IO.NotifyFilters]'DirectoryName'}

Register-ObjectEvent $fsw Created -SourceIdentifier FolderCreated -Action {
$convFolder = $Event.SourceEventArgs.Name
$fpath = $Event.SourceEventArgs.FullPath
$workFolder= $inputFolder + "\" + $convFolder
$targetFolder = $outputFolder + "\" + $convFolder + "_converted"
$archiveFolder = $storageFolder + "\" + $convFolder + "_archived"
$files = Get-ChildItem $workFolder
New-Item -Path $targetFolder -ItemType directory -Force
New-Item -Path $targetFolder + "\log" -ItemType directory -Force
ForEach ($file in $files) { 
catia5batch.bat $file.fullName $targetFolder | Out-File -FilePath $targetFolder + "\log\conversionLog.log" -Append -InputObject log "$($_.BaseName)$(get-date -Format MM-dd-yyyy)$($_.extension) has been converted successfully."}
Move-Item -path $workFolder -destination $archiveFolder -Force
}

“工作状态”?-我没有看到任何就业机会被创造出来。请发布相关的源代码以及错误消息。如果你缩进你的资料来源,也有助于找到可能的答案。顺便说一句,在你发布的代码中似乎有不匹配的大括号。
Register ObjectEvent
ForEach
有一个大括号,但只有一个小括号。而
Register ObjectEvent
的代码使用变量
$Event
,但未定义该变量。您可能错过了
Param()
语句。我建议您回到获取代码的地方,查看代码的描述。@user2460798
$Event
在该上下文中是一个自动变量,不需要declaration@MathiasR.Jessen谢谢这在PS 2.0中是真的吗?@MathiasR.Jessen那么这可能是告诉提问者$Event未定义的一个很好的理由。@user2460798在PS 2.0中是真的,是“工作状态”?-我没有看到任何就业机会被创造出来。请发布相关的源代码以及错误消息。如果你缩进你的资料来源,也有助于找到可能的答案。顺便说一句,在你发布的代码中似乎有不匹配的大括号。
Register ObjectEvent
ForEach
有一个大括号,但只有一个小括号。而
Register ObjectEvent
的代码使用变量
$Event
,但未定义该变量。您可能错过了
Param()
语句。我建议您回到获取代码的地方,查看代码的描述。@user2460798
$Event
在该上下文中是一个自动变量,不需要declaration@MathiasR.Jessen谢谢在PS 2.0中是这样吗?@MathiasR.Jessen那么这可能是告诉提问者$Event未定义的一个很好的理由。@user2460798在PS 2.0中是这样的,是的