在Windows服务器上(我已经testing过2008 R2和2012 R2),我们注意到在执行从批处理调用的Perl脚本中的不同行为。 考虑一个原始的batch file,如下所示: :beginlbl call path\script.pl goto :beginlbl 迟早(在数百次执行后,在其他情况下执行几次脚本后)将会出现一条错误消息: “Windows无法访问指定的设备,path或文件,您可能没有相应的权限来访问该项目“。 如果代码的第二行被修改为如下所示: call perl path\script.pl (注意脚本之前的可执行文件名。)脚本将永远运行,没有问题。 在上述两种情况下,Windows的执行方式有何不同?
使用batch file我试图复制,然后将文件从本地FTP文件夹移动到我的电脑。 要访问本地FTP,我使用pipe理用户和密码。 这看起来如何。 net use Z: "\\servername\FTP Folders\otherfolder" password /USER:domain\administrator copy Test.txt C:\Users\username\Desktop\ProcessVault\Test.txt move /y \\servername\FTP Folders\otherfolder\test.txt C:\Users\username\Desktop\folder\May\Test.txt pause 文件复制工作正常,但移动不起作用。 不能找出为什么这是行不通的。 这在我运行batch file后出现。 “发生系统错误1219,不允许同一个用户使用多个用户名连接到一个服务器或共享资源,断开与服务器或共享资源的所有连接,然后重试。 任何想法,为什么我不能移动文件?
首先,我非常尊重程序员和IT专业人员。 我是一个新的/想要的。 我正在寻找帮助开发一个小程序/脚本,可以帮助我完成我在下面详细介绍的任务。 我不会把这作为作业提交。 这是与工作有关的,但我不是要求你做我的工作。 我以此为契机,通过完成我需要完成的任务来了解更多关于编程的内容。 您可能提供的任何代码都将有所帮助,但我对核心概念,步骤以及您如何最好地处理此任务的意见非常感兴趣(哪些工具,语言等) 这是我有:XP机器(本地和远程) 一些batch file的基本知识 Visual Basic 2008 Express的一点点经验 C ++经验的TINY位(并具有代码块编译器) XP相当公平的工作知识 这是我想要做的: 每个周一到周五的午夜,我想要一个非现场机器(#1),我将build立和可以访问 从hibernate状态唤醒 通过ftp连接或互联网将位于办公室(即将开启)的选定机器(#2)的所有内容(\ Server \ remoteBackup)复制(\ xcopy \)到离线机器(C:\ remoteBackup) 把一个“successfulCopy.txt”文件放在另一台选定的机器上(#3)(\ machine3 \ log)。 每个“successfulCopy.txt”文件应该检查是否存在“successfulCopy.txt”,如果是的话,重新命名为“successfulCopy(2).txt”或其他。 回到hibernate状态(完成时或定时器) 这基本上是一个远程备份系统。 你怎么看? 你提供的任何想法将是最有帮助的,如果你的名字给我的方式,我可以谷歌您的答案,以了解更多,如果我有进一步的问题。 我感谢您可以提供的任何帮助。 我想这样做,因为我想这样做,没有其他原因。
我正在尝试使用批处理脚本来格式化“n”个磁盘。 我的脚本是这样的。 diskpart /s "abc.txt" abc.txt是: sel disk 1 create part primary format FS=NTFS label=label2 quick compress 我的问题在这里是我想循环在abc.txt的命令存在的磁盘数量。 但是我不能发送像%1这样的参数给abc.txt文件,因为它是一个.txt文件。 而我的diskpart / s只能以.txt文件作为参数。 如何克服这个…任何人都可以请帮忙吗?
我在Windows 2008服务器上,想要删除15个用户(user1,直到user15),而无需手动完成。 完全删除它们之后,我想读取它们(再次使用脚本),并为它们提供脚本所要求的相同密码。 任何帮助(提示,完整的脚本)表示赞赏。
我有以下appcmd添加到IIS7的ISAPI和CGI限制的exception。 我添加的exception应该是这样的: c:\perl\bin\perl.exe "%s" %s 这里是命令行: appcmd set config -section:isapiCgiRestriction "-+[path='c:\perl\bin\perl.exe \"%s\" %s', allowed='true', description='Perl CGI']" 如果从命令行执行此操作,则可以正确执行此操作,但是如果在.cmdbatch file中执行此操作,则path会变形并最终显示为: c:\perl\bin\perl.exe "s 麻烦似乎出现,因为我不得不绕第一个%s perl.exe参数引号。 但是为什么这个在batch file中的行为应该是不一样的。 任何人都可以解释为什么这是发生?
我有一个文件夹folder1包含3个文件file1 , file2和file3 …我需要命令行来执行以下任务…将文件的名称存储在variables中…因为我想写dynamic批处理
我写了下面的batch file: start D:\folder1\bin\run.bat start D:\folder2\bin\run.bat start D:\folder3\bin\run.bat start D:\folder4\bin\run.bat 它执行第一次start但给我以下错误: windows cannot find " D:\folder2\bin" Make sure you type the name correctly, and then try again. To search for a file, click the start button,and then click search 注 :我确定拼写是正确的,我把start D:\folder2\bin\run.bat放在另一个文件中,并且正确执行。
对于我的生活,我似乎无法获得在Server 2008任务计划程序中运行的batch file,尽pipe它没有我以前见过的常见问题。 迄今为止的问题 : 我有一个batch file,需要一些存储库和ZIP的热备份。 我能够手动运行。 我在任务计划程序中创build了一个任务来调用batch file(不包括引号,没有命令行参数)。 无论如何,任务返回代码0x1(我相信这与权限有关)。 目前为止的故障排除步 手动执行任务。 运行完美。 由于之前在ServerFault上列出的2008 Server修复程序错误,确保我没有引用参数。 我不但没有引证,而且也没有论据。 将输出redirect到日志文件以查看它是否正在运行。 事实并非如此。 将用户从系统服务帐户更改为本地pipe理员帐户用于testing目的。 pipe理员帐户具有所有必要的权限和特权,并且在尝试手动运行任务时当前已login。 创build另一个batch file,除了调用另一个batch file以外,其他的batch file是否可能是最初调用的batch file中的一个命令。 这仍然失败,但如果手动运行,再次工作。 我处于死胡同 任何新的想法,可以启动故障排除过程? 谢谢! 编辑1 :为了澄清,我应该注意到,我正在检查“运行任务是否用户login或不”,但我不记得是否它是最初设置的方式。
我通过调用rsync的任务计划程序运行一些batch file。 .bat文件在手动运行时工作得很好,而且通过TS也可以正常运行。 但是,它不会打开一个cmd窗口,所以我可以看到进度,因为它同步文件。 我没有把它们设置为隐藏。 有没有办法“打开窗户”? 我想能够监视发生了什么事情(我只是一个控制怪胎:P)