Batch file Windows server 2008不支持';t运行.bat文件

Batch file Windows server 2008不支持';t运行.bat文件,batch-file,cmd,windows-server-2008,Batch File,Cmd,Windows Server 2008,我对windows server 2008批处理文件中的某些命令有问题 当我尝试在命令提示符下使用clip命令时,它会起作用 但是当我在批处理文件中使用clip命令并运行批处理文件时,clip命令不起作用。在这个问题上我该怎么办?我的错在哪里 编辑: set wp=D:\workset\xxx\MC_DIM\exchange\ d: cd %wp% for %%i in (xxx_to_yyy*.zip) do ( echo %wp%%%i | clip ) 当我尝试仅使用echo时,

我对windows server 2008批处理文件中的某些命令有问题

当我尝试在命令提示符下使用
clip
命令时,它会起作用

但是当我在批处理文件中使用
clip
命令并运行批处理文件时,clip命令不起作用。在这个问题上我该怎么办?我的错在哪里

编辑:

set wp=D:\workset\xxx\MC_DIM\exchange\

d:
cd %wp%

for %%i in (xxx_to_yyy*.zip) do (
  echo %wp%%%i | clip
)

当我尝试仅使用
echo
时,我可以使用批处理文件获取完整路径,当我使用cmd中的
clip
命令时,它可以工作,但当我创建批处理文件并尝试使用它时,它不会复制到剪贴板。是关于特权还是什么

在我看来,你的代码可以正常工作,只是它只将最后一个文件复制到剪贴板上。这是因为列出的每个文件都将其自己的管道连接到新的CLIP命令。每个剪辑命令都覆盖上一个剪辑命令的结果

您需要以某种方式列出文件的完整路径,并将整个结果集通过管道传输到单个剪辑命令。不使用临时文件的最简单解决方案是在FOR语句周围加括号。管道的每一侧都在其自己的CMD.EXE进程中执行,ECHO状态默认恢复为on。因此DO子句中的命令需要
@
来抑制命令的回音

无需在输出中包含
%wp%
。变量修饰符的
~f
将提供完整路径

@echo off
set wp=D:\workset\xxx\MC_DIM\exchange\

d:
cd %wp%

(for %%i in (xxx_to_yyy*.zip) do @echo %%~fi) | clip

我的程序给出的答案是5,但应该是4。我做错了什么?祝你好运回答这个问题,对吗?如果不显示代码,诊断问题就有点困难。我同意dbenham的观点。如果你不提供一个好的问题,我们就不能给你一个好的答案。每次你问一个问题,你都会在页面上看到这样一句话:你问了一个模糊的问题,你得到了一个模糊的答案。把密码给我们,我们会帮你修好的。但到目前为止,我们无法真正帮助您。@dbenham好的,我为我的错误感到抱歉:/I我编辑了我的问题,所以这可能更清楚,更好understanding@Epic_Tonic请检查编辑,你是对的。更好:-)尽管最好也描述一下它以什么方式不起作用。但我想我知道。