逐行读取文本文件

问题描述 投票:0回答:2

我是Power Shell的新手,似乎无法正确理解此脚本。

$WshShell = New-Object -comObject WScript.Shell
$users = Get-Content '\\fssrv\homeshares$\fMunoz00\Desktop\users.txt'
$users1 = Get-Content '\\fssrv\homeshares$\fMunoz00\Desktop\users1.txt'
$Shortcut = $WshShell.CreateShortcut("\\Fssrv\homeshares$\$users1\$users.lnk")
$Shortcut.TargetPath = "\\asrv1\users\$users"
$Shortcut.Save()

每次进入“ users.txt”时,它都会尝试将其读取为完整文件。相反,我希望它读如下:

User1

User2

User3

我似乎无法解决这个问题。

重新编辑:

我想完成的事情:

我们从一台存储服务器转到了新的存储服务器。

从ASRV1到FSSRV

我想创建一个从asrv1到fssrv的快捷方式。随着升级,我们还将更改域并更改每个Windows用户名。

例如,我的用户名为fMunoz,并将其更改为fMunoz00。

我想使用所有旧的用户名从文本文件> users.txt中提取文件,并创建指向新用户名存储文件的快捷方式,这些用户名位于名为users1.txt的txt文件中。

powershell scripting line next
2个回答
0
投票
如果我理解您的请求,您想在Users1.txt中人员的每个主目录中创建快捷方式>

这意味着您将需要完成多个ForEach循环才能循环浏览两个txt文件。

$WshShell = New-Object -comObject WScript.Shell $users = Get-Content '\\fssrv\homeshares$\fMunoz00\Desktop\users.txt' $users1 = Get-Content '\\fssrv\homeshares$\fMunoz00\Desktop\users1.txt' # For every line in $users1, Do something Foreach($User in $users1) { # For every line in $users, Do something Foreach($Name in $users) { $Shortcut = $WshShell.CreateShortcut("\\Fssrv\homeshares$\$User\$Name.lnk") $Shortcut.TargetPath = "\\asrv1\users\$Name" $Shortcut.Save() } }


0
投票
我要感谢大家的帮助。
© www.soinside.com 2019 - 2024. All rights reserved.