这是我的情况:
我们依靠用户点击一些.bat并进行每日备份。
我做了一些批处理编程,现在当他们(被迫)备份时,它会在其中留下一个日志文件并拥有服务器文件夹。是的,他们需要被迫,否则他们只是赢得了g.damn备份...欢迎来到我的公司.-。
然后,经过一些研究,我开发了另一个蝙蝠,检查文件是否过时并将其打印在文本文件中。
这是我现在拥有的那种文件:
文件: DailyBkp
内容:
" \约翰\ log.log"
" \ Department1 \安迪\ log.log"
" \ Department1 \尼科尔\ log.log"
" \ Department2 \安\ log.log"
档案部门
内容:
Department1
Department2
...
很好,经过powershell
的一些字符串处理后,我设法得到DailyBkp
内容:
John
Department1 Andy
...
请注意,无论我使用什么装饰,它都有一个开头的空间和另一个末尾的空间......
现在我有了这个设置:SERVER > E:\Backup\
内部备份我们有"Department 1" ... "Dep.-N"
每一个内部:"User-Lastname1" .. "User-lastname-N"
我需要或者我想要的是使用powershell来获取包含DailyBkp
字符串的"Dept_User"
的内容,并将条目导出到csv
文件,如下所示:
COLUMN_Name COLUMN_Dept
Andy Department1
那么,我该怎么做?我无法在互联网上找到任何使用文本文件的内容。
答案 0 :(得分:0)
所以假设我正确地阅读了你的问题,你有一个看起来像这样的DailyBkp文件:
Department1 Andy
Dpeartment2 Jim
...
得到你想要的东西你可以读出每一行,然后将它吐出来,然后在这样的csv中吐出来:
"COLUMN_Name,COLUMN_Dept" | out-file <path>\outfile.csv
$bkpFile = get-content $dailyBkpFile
$bkpFile | ForEach-Object {$line = $_.split(" ")
"$($line[1]),$($line[0])" | out-file <path>\outfile.csv -Append}
输出应如下所示:
COLUMN_Name,COLUMN_Dept
Andy,Department1
Jim,Department2
答案 1 :(得分:0)
在这里做一个快速的帖子。
我的问题得到了回答,谢谢
而且,如果有人对Powershell编程感兴趣,可以通过 Tobias Weltner 谷歌掌握Powershell ;这是一本免费的书,有很多解释。