【发布时间】:2015-12-14 05:48:05
【问题描述】:
我在一个文件夹中有大约 500 个 .txt 文件。其中,大约 100 个文件包含我希望更改的文本。我已经使用下面的代码来做到这一点。
used Repl.bat and the below code:
for %%F in (*.txt) do (
type "%%F"|repl Apples Mangoes >"%%F.new"
move /y "%%F.new" "%%F"
)
由于这会搜索所有文件,因此文件正在被修改。我不知道在哪些文件中,文本已被替换。
我的实际任务是更改字符串并将修改后的文件放入另一个文件夹。 我尝试使用下面的代码来移动修改后的文件。但是由于所有文件都被修改了,我不知道该怎么做。
ECHO OFF
set source=C:\abc\
set destination=C:xyz\
for /F "tokens=2-4 delims=/ " %%i in ('date /t') do set yyyymmdd1=%%j"."%%i"."%%k
if exist %destination% goto GO
:GO
mkdir %destination%%yyyymmdd1%
xcopy %source%* %destination% /m/s/d/y/c/v/r
echo.
echo Finished copying %source% to %destination%
echo.
echo Created %destination%%yyyymmdd1%
pause
提前致谢
【问题讨论】:
-
我看到了两种方法:1)首先检查文件是否包含要用 find 命令替换的单词。然后要么原封不动地移动文件,要么通过 repl 运行它。 2)对所有文件调用repl,然后使用fc命令比较原始和副本
-
感谢您的快速回复。我是批处理脚本的新手,上面的代码不是我自己的。我只从这个网站上拿了它。请详细说明
-
SO 不是“写我的代码”网站。这个想法是为您提供建议。您需要能够遵循给出的建议
-
您好,我尝试使用 fc 命令,发现文件已修改。但无论如何我可以得到那些修改文件的列表
-
下次在文件中替换之前使用
attrib.exe -a *.txt,它会从所有TXT文件中删除存档属性。文件的修改导致仅在修改后的文件上再次设置存档属性。然后,您可以使用带有/A或/M的命令xcopy 轻松复制具有归档属性集的文件。存档属性是为这样的任务设计的。或者修改repl.bat甚至不包含搜索字符串的文件?
标签: batch-file batch-processing