如何使用批处理文件打开文件,类似于对批处理文件的输入

时间:2019-07-09 18:45:17

标签: c windows batch-file

当我开始学习C编程语言时,我讨厌使用gcc在命令行中使用C语言编译C文件的繁琐过程,但我知道还有更好的其他程序可以解决此问题,但是我认为这样做对我来说将是非常具有挑战性的使用批处理文件执行此过程,因为它也可以在命令提示符下运行,所以我发现自己无法解决的第一个问题是使用批处理文件(以某种输入形式)打开c文件,例如使用a打开文本文件时文本编辑器(而不是记事本),对c文件执行此操作真是棒极了。

我知道在这种情况下,我们可以使批处理打开命令窗口,并等待输入c文件的路径,因为我们可以将c文件从文件资源管理器窗口拖动到命令窗口,然后它将写命令行中文件的路径,但是我宁愿使用第一种方法,因为它更容易使用,并且在其他情况下可以使用click and drag方法可能无济于事,尤其是在要使用批处理以外的文件打开文件的情况下,它可以提供帮助文件,例如python文件。

1 个答案:

答案 0 :(得分:1)

我相信您希望将.C文件与批处理脚本相关联。

EG:因此,如果您双击.c文件,或在命令行上调用.c文件,它将作为参数传递给您要在其中运行GCC的CMD脚本。

这既可以通过GUI也可以通过CMD来实现。

以下是您如何完成此操作的示例:

可选:备份.c文件的旧关联,以便以后可以恢复它:

REM Backup old association for .c files to be able to restore it later if you want:

Assoc .c >>"%temp%\BKP_Assocs.txt"

创建指向您的CMD脚本的自定义文件类型。-这会将文件类型链接到CMD脚本,您将需要提供带有cmd脚本引号的完整路径:

FType c.cmd="C:\Path\To\YourScript.cmd"

将.c文件扩展名与在FType中创建的自定义文件类型相关联,从而允许其在CMD脚本中打开:

Assoc .c=c.cmd

运行上述操作后,您可以双击任何.c文件,说“ C:\ Somefile.c”,然后将其地址传递给您指定的.CMD脚本,例如C:\Path\To\YourScript.cmd

您还可以在CLI上键入"C:\Somefile.c",并在C:\Path\To\YourScript.cmd脚本中打开该文件作为作为参数传递的路径。

下面是一个示例脚本,让我在此脚本之后的示例输出中向您展示它的工作,当您双击.c文件时,它将吐出所提供的信息您选择进行测试的方式:

@ECHO OFF
ECHO(%~n0:
ECHO(%~n0: =====================
ECHO(%~n0: Begin Script "%~f0"
ECHO(%~n0: =====================
ECHO(%~n0:
ECHO(%~n0: The Full File Path That opened this script is:
ECHO(%~n0:   %1
ECHO(%~n0:
ECHO(%~n0: The Full File Path That opened this script, without Quotes, is:
ECHO(%~n0:   %~1
ECHO(%~n0:
ECHO(%~n0: ---------------------------------------------------------
ECHO(%~n0: File Name: "%~n1"
ECHO(%~n0: File Path: "%~dp1"
ECHO(%~n0: File Size: "%~z1"
ECHO(%~n0: File Ext:  "%~x1"
ECHO(%~n0: File Date: "%~t1"
PAUSE

当我双击示例.c文件时,结果为:

C_Parser:
C_Parser: =====================
C_Parser: Begin Script "C:\Admin\C_Parser.cmd"
C_Parser: =====================
C_Parser:
C_Parser: The Full File Path That opened this script is:
C_Parser:   "C:\Admin\testfile.c"
C_Parser:
C_Parser: The Full File Path That opened this script, without Quotes, is:
C_Parser:   C:\Admin\testfile.c
C_Parser:
C_Parser: ---------------------------------------------------------
C_Parser: File Name: "testfile"
C_Parser: File Path: "C:\Admin\"
C_Parser: File Size: "35"
C_Parser: File Ext:  ".c"
C_Parser: File Date: "07/09/2019 03:20 PM"
Press any key to continue . . .