windows - 从一个文件中删除文本并批量添加到另一个文件中
问题描述
我正在为自己制作一个电影管理器来管理我下载到计算机上的电影。我正在使用批处理来完成这项工作。我已经成功完成了这个项目,但是我需要不时添加一些功能来保持我的程序新鲜和易于使用。
我今天要添加的功能是“将电影标记为已观看”功能。我要使用的方法看起来很简单,而且必须如此。这种方法背后的想法如下:
我有一个.txt
文件,其中包含我在计算机上拥有的电影列表。可以通过批处理程序将新电影添加到列表中。过去我编写了一个简单的代码,在"MovieNumber1"
每部电影的每一行之前放置一个字符串。该Movies.txt
文件如下所示:
MovieNumber1 Name: Example Movie 1
MovieNumber1 Year: 2000
MovieNumber1 Desc: This is a description
MovieNumber1 Path: C:\Users\danie\Desktop\Videos\movie1.mp4
MovieNumber1 ----------------------------------------------------------------
MovieNumber2 Name: Example Movie 2
MovieNumber2 Year: 2002
MovieNumber2 Desc: This is a description
MovieNumber2 Path: C:\Users\danie\Desktop\Videos\movie2.mp4
MovieNumber2 ---------------------------------------------------------------- ```
我知道,这不是很整洁。但它完成了这项工作。
我现在需要制作新的“标记为已观看”功能,就是删除某部电影的行,并将它们写入另一个名为的txt文件中WatchedMovies.txt
我尝试了这段代码,我想搜索它"MovieNumber%moviechoice%"
,从 中删除带有该字符串的所有行Movies.txt
,然后将它们粘贴到WatchedMovies.txt
.
FindStr /B /V /C:"MovieNumber%moviechoice%" Movies.txt < WatchedMovies.txt
注意: %moviechoice%
是程序在用户到达此阶段之前要求用户提供的变量。这个变量只是一个数字。
例如,如果用户选择了第二部电影,他将键入"2"
以选择它。然后他可以观看电影或将其标记为已观看。如果他决定观看,我的代码将成功启动电影。如果他决定将其标记为已观看,则程序应搜索"MovieNumber2"
in Movies.txt
(因为用户之前输入了 2),删除所有包含"MovieNumber2"
in的行Movies.txt
并将它们粘贴到WatchedMovies.txt
. 如果此操作成功,用户应该能够在 中看到未观看的电影Movies.txt
和已观看的电影WatchedMovies.txt
。
这段代码现在正在做的是复制所有内容"MovieNumber2"
(即复制所有与其他 MovieNumbers 的行)并将它们粘贴到WatchedMovies.txt
我怎样才能改变它做我想做的事?
解决方案
推荐阅读
- python - 如何从我美丽的汤结果中删除标签(如:地址 = [a,b,c,d,r......])
- python - 访问字典中的熊猫面具
- ios - ScrollView 使用 SwiftUI 获取/设置滚动位置
- python - 从 MATLAB 到 Python 的错误状态卡尔曼滤波器
- javascript - 如何从 javascript 变量中获取值,通过按钮用作 php 输入变量,没有或没有提交按钮?
- excel - 数据导入操作在被快捷方式触发时停止,但在调试模式下工作
- arrays - 如何从bash函数返回数组
- java - 在java中解析json字符串:位置1的意外字符(P)
- vue.js - 在谷歌分析上,广告活动的页面浏览量保持为 1,但对于使用标签管理器的 view.js SPA 上的自然搜索非常有效
- extjs - 如何在extjs中过滤树后删除所有最后一个可见子项的肘线