Batch file 在CMD中添加变量

Batch file 在CMD中添加变量,batch-file,cmd,server,remote-access,Batch File,Cmd,Server,Remote Access,我写了一个小脚本,打算从我们的服务器复制一个文件,将它复制到本地机器并运行它。它适合我,但我想添加参数,以便其他人也能轻松使用它 @echo off pushd \\NetworkPath & copy batfile.bat \\ComputerName\c$\Users\UserName\Desktop & popd & psexec -i -s -d \\ComputerName -u UserName -p UserNamePassword "C:\Users\

我写了一个小脚本,打算从我们的服务器复制一个文件,将它复制到本地机器并运行它。它适合我,但我想添加参数,以便其他人也能轻松使用它

@echo off

pushd \\NetworkPath & copy batfile.bat \\ComputerName\c$\Users\UserName\Desktop & popd & psexec -i -s -d \\ComputerName -u UserName -p UserNamePassword "C:\Users\UserName\Desktop\batfile.bat"

如您所见,它将文件本地复制到用户的桌面,并运行文件本身。请告诉我如何使用ComputerName、UserName和UserNamePassword变量,以便每次都有一个查询,询问值是什么

您需要
SET/p
命令:

@echo off
SET /p pwd=password: 
SET /p usr=user name: 
SET /p compname=computer name: 

pushd \\NetworkPath & copy batfile.bat \\%compname%\c$\Users\%usr%\Desktop & popd & psexec -i -s -d \\%compname% -u %usr% -p %pwd% "C:\Users\%usr%\Desktop\batfile.bat"

pushd“\\servername\sharename”和copy batfile.bat”%UserProfile%\Desktop\“&popd&%UserProfile%\Desktop\batfile.bat“
应该对任何本地用户执行相同的任务。
pushd”%UserProfile%\Desktop\“©”\\NetworkPath\batfile.bat&popd&batfile.bat
应该为任何本地用户执行与
COPY
接受UNC路径名相同的工作。但是
ComputerName
UserName
环境变量已经定义,不应该更改。好的,我不知道他想使用当前用户。我将更新我的答案。我想更改所有变量,因为我在具有不同用户名和密码的远程计算机上运行它。我的第一个答案是正确的:)我将撤消更改。@MichaelS:在我阅读时,任何计算机上的任何用户都应该能够使用此批从服务器复制文件(对他自己的账户,而不是对其他用户),所以你的修订版就可以了。我可能错了,但你可以提出这两种可能性。