批处理文件 - 将文本文件的内容复制到剪贴板

时间:2013-10-17 21:34:26

标签: batch-file if-statement clipboard

我正在尝试编写一个基本的批处理文件来帮助完成某些工作。当前迭代如下:

'@echo off
echo 1: Follow-Up Email
echo 2: Things
echo 3: Stuff

set /p "option=Select Option:"

IF %option%==1(
    type "C:\files\test.txt" | clip
    )
ELSE IF %option%==2(    
    type "C:\files\test2.txt" | clip
    )
ELSE IF %option%==3(
    type "C:\files\test3.txt" | clip
    )
ELSE (
    echo Not a valid option.
    )   '

情况:text.txt包含字符串“text123”。 text2.txt包含字符串“test2”。我的问题是脚本什么都不做。没有文字放在剪贴板上。我错过了什么简单的事情?

非常感谢。

2 个答案:

答案 0 :(得分:1)

你的其他语法是问题。怎么样?

@echo off

:Start
cls
echo 1: Follow-Up Email
echo 2: Things
echo 3: Stuff

set /p "option=Select Option:"

IF "%option%"=="1" type "C:\files\test.txt" | clip & goto :Done
IF "%option%"=="2" type "C:\files\test2.txt" | clip & goto :Done
IF "%option%"=="3" type "C:\files\test3.txt" | clip & goto :Done
echo.Not a valid option.
pause
goto :Start

:Done

答案 1 :(得分:1)

您的代码格式为fubar。
之前的空格(如果缺少if测试,则为 并且ELSE的位置必须与()和(

在同一行

它没有那么强大,但它确实有效。

@echo off
echo 1: Follow-Up Email
echo 2: Things
echo 3: Stuff

set /p "option=Select Option:"

IF %option%==1 (
    type "C:\files\test.txt" | clip
    ) ELSE IF %option%==2 (    
    type "C:\files\test2.txt" | clip
    ) ELSE IF %option%==3 (
    type "C:\files\test3.txt" | clip
    ) ELSE (
    echo Not a valid option.
    )