首页 > 解决方案 > 从 BATCH 文件中的 .txt 文件中读取数据

问题描述

我一直在尝试制作一个程序(.bat,然后我将转换为 .exe),它复制并运行软件安装程序以在大量计算机上安装特定程序,但我也让它与任何计算机一起工作文件并制作一个 .txt 文件来告诉 .bat 文件如何执行 xcopy 命令...

所以...我需要帮助来读取 BATCH 文件中的 .txt 文件

这是我的代码的一部分,没有运行和删除的东西:

@echo off

echo Running...

for /f "Delims=1" %%a in (settings.txt) do (
set settings1=%%a
)
set file_org=%settings1%

for /f "Delims=2" %%b in (settings.txt) do (
set settings2=%%b
)
set file_dest=%settings2%

echo Copying %file_org% to %file_dest% ...
xcopy /y %file_org% %file_dest% >nul
echo Copied %file_org% to %file_dest% succesfuly!
pause

这就是 .txt 文件正确时的样子:

F:\test
C:\Users\%username%\Desktop

第一行是要复制的文件的来源 第二行是要复制到的文件的目标

是的,这就是要在U盘上运行,其实就像我之前说的,就是转移、运行、删除U盘的安装程序,让海量软件的安装速度快很多。

让我告诉你整个事情是如何运作的:

  1. 配置settings.txt文件
  2. 将棒插入带有所需程序和我的小 .bat 文件的 PC
  3. 运行!
  4. 使用程序继续安装过程
  5. 我的软件删除了安装程序
  6. 从 PC 中取出记忆棒(为安全起见,请不要忘记弹出 USB ;))
  7. 在另一台计算机上重复这个非常短的过程

所有这些都节省了时间,因为您不必每次都去获取安装程序,只需配置一次并继续安装...... :)

我也喜欢把东西做得很漂亮所以......请不要给我乱七八糟的东西...... :)

谢谢你,提前,来自法国的爱,ILTP -_-

标签: filebatch-filecopypastedelete-file

解决方案


我会尝试执行将文件的第一行和第二行读入如下变量的任务:

@Echo Off
Echo Running ...
(Set /P "file_org="
    Set /P "file_dest=")<"settings.txt"
Echo Copying %file_org% to %file_dest% ...
XCopy "%file_org%" "%file_dest%" /Y >Nul 2>&1 && (
    Echo Copied %file_org% to %file_dest% succesfully!)
Pause

希望它可以帮助你。


推荐阅读