Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理文件变量替换_Batch File - Fatal编程技术网

Batch file 批处理文件变量替换

Batch file 批处理文件变量替换,batch-file,Batch File,我在批处理文件中尝试这个非常基本的命令 takeown.exe /F c:\WINDOWS\SYSTEM32\%1% ICACLS C:\WINDOWS\SYSTEM32\%1% /grant MY\PC:F 当我在admin CMD提示符下运行它时: c:\Data>takeownscript.bat drivers\netbio.sys 它抛出一个错误,说: c:\Data>takeown.exe/F c:\WINDOWS\SYSTEM32\drivers\netio.sys 成功

我在批处理文件中尝试这个非常基本的命令

takeown.exe /F c:\WINDOWS\SYSTEM32\%1%
ICACLS C:\WINDOWS\SYSTEM32\%1% /grant MY\PC:F
当我在admin CMD提示符下运行它时:

c:\Data>takeownscript.bat drivers\netbio.sys
它抛出一个错误,说:

c:\Data>takeown.exe/F c:\WINDOWS\SYSTEM32\drivers\netio.sys

成功:文件或文件夹:c:\WINDOWS\SYSTEM32\drivers\netio.sys 现在由用户MY\PC拥有

c:\Data>ICACLS c:\WINDOWS\SYSTEM32\drivers\netio.sysF C:\WINDOWS\SYSTEM32\drivers\netio.sysF:系统找不到 指定的文件。已成功处理0个文件;处理1失败 档案


F如何/为什么附加到驱动程序路径?我怀疑我没有使用正确的替换语法。

只是为了让社区知道答案

命令行参数用作%nn表示批处理文件中的哪个参数


另一个预防措施是,任何时候都应使用%%1~1从%1中删除引号。请注意,这将不起作用:%~yourVariable%.

批处理文件的参数应使用%1引用,而不是使用本文中解释的%1%.@Laf有效。请考虑解决这个问题!