我有以下文件:
/home/InputDirectory/DHddmmyy.txt
/home/InputDirectory2/DHddmmyy.txt
/home/InputDirectory3/DHddmmyy.txt
我想做" Sed"相当于VB,所以我不必调用cygwin sed来完成这项工作,最终结果应该是:
/home/InputDirectory/DH250816.txt
/home/InputDirectory2/DH250816.txt
/home/InputDirectory3/DH250816.txt
该变量将作为参数传递给脚本。对任何VB都没有经验,所以任何帮助都会非常感激。我发现的唯一一件事是:
Dim TestString As String = "Shopping List"
' Returns "Shipping List".
Dim aString As String = Replace(TestString, "o", "i")
但我如何迭代每一行来执行该操作?有没有办法为文件的每一行执行此操作?提前谢谢。
答案 0 :(得分:1)
尝试以下代码。 在这里,我创建了一个替换" ddmmyy"当前日期(格式相同)
Function FormatFileName(sFileName As String) As String
Dim sReturnValue As String
sReturnValue = Replace(sFileName, "ddmmyy", Format(Now(), "ddmmyy"), , , vbTextCompare)
FormatFileName = sReturnValue
End Function
您可以使用以下测试程序
测试代码Sub Process()
Dim sOutputFileName As String
sOutputFileName = FormatFileName("/home/InputDirectory/DHddmmyy.txt")
Debug.Print sOutputFileName
sOutputFileName = FormatFileName("/home/InputDirectory2/DHddmmyy.txt")
Debug.Print sOutputFileName
sOutputFileName = FormatFileName("/home/InputDirectory3/DHddmmyy.txt")
Debug.Print sOutputFileName
End Sub
希望它有所帮助!!
答案 1 :(得分:1)
在您的情况下,您可以立即替换所有
Dim text = File.ReadAllText("C:\1.txt")
text = text.Replace("ddmmyy", Now.ToString("ddMMyy"))
File.WriteAllText("C:\1.txt", text)