批处理文件,在所需位置创建另一个批处理文件

时间:2018-05-30 13:20:16

标签: batch-file

这是我当前的文件(它应该创建一个文件夹,goe到该文件夹​​,然后在 文件夹中创建一个批处理文件):

@echo off 

echo md C:\"Program Files (x86)"\AcceleratorTool\

echo cd C:\"Program Files (x86)"\AcceleratorTool\

>AcceleratorTool.bat (
 echo taskkill /f /im chrome.exe
)

尽管我放了cd C:\"Program Files (x86)"\AcceleratorTool\,但它仍然在C:\Windows\System32中创建文件。

这可能是因为我必须(并且确实)以管理员身份运行原始批处理文件,我假设这是相关的。

2 个答案:

答案 0 :(得分:1)

你的剧本中有一些错误。这是固定功能版本:

@echo off 
REM create the target directory    
mkdir "C:\Program Files (x86)\AcceleratorTool" 2>nul

REM stores your current directory and changes the to the target directory
pushd "C:\Program Files (x86)\AcceleratorTool"

REM echos the command into the .bat file
echo taskkill /f /im chrome.exe > AcceleratorTool.bat

REM returns to the original directory
popd

评论解释了功能。不要忘记您必须拥有访问Program Files (x86)的正确权利!

答案 1 :(得分:1)

要编写文件,没有理由将目录更改为目标位置:

@Echo Off
Set "dirName=AcceleratorTool"
Set PROCESSOR_ARCHITE|Find "64">Nul && (
    Set "dirBase=%ProgramFiles(x86)%\%dirName%"
) ||Set "dirBase=%ProgramFiles%\%dirName%"
If Not Exist "%dirBase%\%dirName%\" MD "%dirBase%\%dirName%" 2>Nul ||Exit /B
Echo TaskKill /F /IM chrome.exe /T>"%dirBase%\%dirName%\%dirName%%~x0"