【发布时间】:2019-01-08 22:07:17
【问题描述】:
我一直在尝试制作一个程序(.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盘的安装程序,让海量软件的安装速度快很多。
让我告诉你整个事情是如何运作的:
- 配置 settings.txt 文件
- 将摇杆插入带有所需程序和我的小 .bat 文件的 PC
- 运行它!
- 使用程序继续安装过程
- 我的软件删除了安装程序
- 从 PC 中取出记忆棒(为安全起见,请不要忘记弹出 USB ;))
- 在另一台计算机上重复这个非常短的过程
所有这些都节省了时间,因为您不必每次都去获取安装程序,只需配置一次并继续安装... :)
我也喜欢把东西弄得很漂亮所以...请不要给我乱七八糟的东西... :)
谢谢你,提前, 来自法国的爱, ILTP -_-
【问题讨论】:
-
我打算将此添加到我的答案中,但从技术上讲,它与问题或答案无关。在您的
settings.txt文件示例中,如果您使用用户Desktop位置的环境变量,我建议%UserProfile%\Desktop,而不是C:\Users\%username%\Desktop。 -
此外,如果源文件
%file_org%与批处理文件位于同一 USB 驱动器上,则无需对驱动器号进行硬编码。您可以改为查看修饰符,例如%~d0\test,无论分配给哪个字母,它都应该引用驱动器。 -
最后的建议,不要使用一些无意义的包装器来假装你的批处理文件不是批处理文件。它不仅会将您的批处理文件提取到一个临时位置,可能在用户 PC 上,这可能会干扰我在之前的评论中提供的建议,它还可能导致他们的防病毒/反恶意软件出现问题.
标签: file batch-file copy paste delete-file