在bat文件中创建数据库

4ward TH1NK3R

我正在尝试创建实际上是数据库的bat文件。我希望能够输入与单个记录相关的信息。输入记录时,我希望能够通过分配给它的卡号来查找记录。由于变量未正确存储,我现在拥有的代码实际上无法正常工作。

这是我的代码:

Color 5F
@echo off
:start
cls
echo ==========================================
echo           Gift Card
echo ==========================================
echo.
echo What would you like to do?
echo.
echo    1 Add Card
echo    2 Check Information
echo    3 Edit Card Balance
echo    4 Delete Card
echo.
set /p choice=Please enter choice: 
if /I %choice%==1 goto 1
if /I %choice%==2 goto 2

:1
echo.
set /p var=Enter Card Number: 
set /p val=Enter Amount: 
set /p fname=Enter First Name: 
set /p lname=Enter Last Name: 
set /p cbal=Enter Current Balance: 
set /p diss=Enter Date issued: 
@echo set %var%=%val%=%fname%=%lname%=%cbal%=%diss% > %var%.bat
echo.
echo The data has been stored!
pause
goto start

:2
echo.
set /p var=Please enter card number: 
setlocal enabledelayedexpansion
call %var%.bat
echo !%fname%! !%lname%!'s !%var%! card has $!%cbal%! on it as of !%diss%!!
pause > nul
goto start

我试图分别单独发送变量,但没有一个起作用。我认为这是因为我没有正确的延迟扩展语法。

任何帮助都非常感谢!

鲁斯兰

您的问题似乎在于生成批处理文件以填充变量的位置……您仅生成一行,而实际上并没有为所需的任何变量分配任何内容。

尝试改变

@echo set %var%=%val%=%fname%=%lname%=%cbal%=%diss% > %var%.bat

成为

@echo set var=%var% > %var%.bat
@echo set val=%val% >> %var%.bat
@echo set fname=%fname% >> %var%.bat
@echo set lname=%lname% >> %var%.bat
@echo set cbal=%cbal% >> %var%.bat
@echo set diss=%diss% >> %var%.bat

这应该允许您的变量被正确加载回。

另外,改变

echo !%fname%! !%lname%!'s !%var%! card has $!%cbal%! on it as of !%diss%!!

阅读

echo %fname% %lname%'s %var% card has $%cbal% on it as of %diss%!

绝对不要在批处理文件中同时使用!%包围变量,只能使用一个或另一个。%在大多数情况下应使用;!当您需要在多行“代码块”(例如,if语句的结果for循环的主体)中读取一个用括号括起来的变量时,应使用

更多建议:

  • 您只可以setlocal delayedexpansion在文件的开头放置一次,就在后面@echo off但是,您在此程序中没有做任何事情(至少现在还没有)需要延迟扩展。延迟扩展用于启用带!符号的变量,并且仅在括号内的多行语句主体内有用。因此,除非/直到您真正需要它,否则您应该完全摆脱它,因为它可能导致其他问题。
  • 调用后,在任何命令中都不需要“ @”符号@echo off(但它不会破坏任何内容)。@符号只是抑制了它前面的命令的回显,但是它是多余的,因为在您调用后默认情况下所有命令都处于静默状态echo off因此,重要的是仅在调用时在第一行使用它@echo off,以使用户看不到该命令的回显。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Bat文件删除sql数据库

来自分类Dev

在PHP中创建数据库查询结果的Excel文件

来自分类Dev

在PHP中创建数据库查询结果的Excel文件

来自分类Dev

RSQLite - 在 /var/tmp 中创建数据库日志文件

来自分类Dev

使用数据库中的信息创建 Excel 文件

来自分类Dev

从备份文件创建数据库

来自分类Dev

从SQL文件创建数据库

来自分类Dev

从.sql文件创建SQLite数据库

来自分类Dev

从.csv文件创建数据库

来自分类Dev

无法在phpMyAdmin中创建数据库

来自分类Dev

从Java在mysql中创建数据库

来自分类Dev

首次在Android中创建数据库

来自分类Dev

无法在android中创建数据库

来自分类Dev

在python中创建MySQL数据库

来自分类Dev

在Android中创建数据库

来自分类Dev

在Heroku数据库中创建记录

来自分类Dev

在mysql数据库中创建表

来自分类Dev

无法在phpMyAdmin中创建数据库

来自分类Dev

从Java在mysql中创建数据库

来自分类Dev

未在sqlite中创建数据库

来自分类Dev

在Perl中创建数据库模块

来自分类Dev

在数据库中创建表

来自分类Dev

首次在Android中创建数据库

来自分类Dev

在Android中创建数据库

来自分类Dev

在数据库中创建字段

来自分类Dev

在oracle数据库中创建序列

来自分类Dev

在 PublisherCacheFolder 中创建 Sqlite 数据库

来自分类Dev

基于Json文件中存储的元数据创建数据库模式的PHP项目的名称?

来自分类Dev

使用数据库中的数据创建CSV文件,可得出“马赛克,混乱”的结果