DOS批处理文件读取文件内容并根据条件重命名文件

发布于 2024-08-26 07:24:33 字数 156 浏览 6 评论 0原文

我需要创建一个批处理文件,该文件读取一行文件,然后根据内容重命名同一文件。 该文件将有一个编号,重命名该文件的条件是:

如果文件内容> 1。 100 然后将new.txt重命名为old.txt 否则将 new.txt 重命名为 new1.txt

感谢您的帮助!

I need to create a batch file that reads a file with one line and then renames the same file based on the contents.
The file will have one number and the condition to rename the file is this:

If content of file > 100 then rename new.txt to old.txt
else rename new.txt to new1.txt

Thanks for the help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寻梦旅人 2024-09-02 07:24:33

注意:我假设您不需要在 DOS 中执行此操作,而是使用 Windows 批处理文件。否则,这会变得比需要的更加丑陋。

如果文件只有一行,读取该文件内容的最简单方法是使用 set /p 并重定向文件的内容:

set /p Content=<new.txt

然后,您可以在 %Content% 中获得文件的第一行,并可以据此进行比较:(

if %Content% GTR 100 (ren new.txt old.txt) else (ren new.txt new1.txt)

GTR 是“大于”运算符;使用 > 显然是个坏主意。)

Note: I'm assuming you don't need to do this in DOS but instead with a Windows batch file. Otherwise this gets far uglier than it needs to be.

If the file only has a single line the easiest way of reading the contents of that file is to use set /p and redirect the file's contents:

set /p Content=<new.txt

You then have the first line of the file in %Content% and can compare based on that:

if %Content% GTR 100 (ren new.txt old.txt) else (ren new.txt new1.txt)

(GTR is the “greater than” operator; using > would obviously a bad idea.)

染年凉城似染瑾 2024-09-02 07:24:33
@echo off
set /p line=<new.txt
if %line% GTR 100 (
  ren "new.txt" "old.txt"
)else (
  ren "new.txt "new1.txt"
)
@echo off
set /p line=<new.txt
if %line% GTR 100 (
  ren "new.txt" "old.txt"
)else (
  ren "new.txt "new1.txt"
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文