我正在编写一个批处理文件来将多个服务器映射到我 PC 上的驱动器。使用 NET USE 命令,我成功地映射了驱动器。
在 Windows 资源管理器中查看时,每个驱动器都会显示字母分配和服务器名称。我还想在资源管理器视图中为每个服务器显示一个用户友好的纯英文名称(这与卷标不同)。我可以在资源管理器中单独右键单击每个驱动器并重命名,但这有点冗长。
有什么方法可以从命令提示符(因此从批处理文件)而不是在资源管理器中右键单击和重命名为驱动器分配名称?
我是PowerShell的新手.
我正在尝试自动将dll组件从源服务器上的文件夹部署到目标服务器上的多个文件夹.这看起来应该很简单:将组件从源服务器上的源(部署)文件夹复制到目标服务器上的文件夹,验证副本,最后从源服务器上的部署文件夹中删除组件.
将文件从源服务器复制到目标服务器的工作没有问题.但是,当脚本继续从源服务器删除组件时,我间歇性地遇到错误:"删除项目错误:无法删除项目[项目路径和名称]:访问路径'[项目路径&名字''被拒绝."
我已多次运行此脚本; 有时它完成没有问题,有时会出错.每个要删除的文件都不会发生错误,并且每次出现时都会出现在不同的组件上.
下面是我为删除组件和验证删除而编写的函数:
function DeleteSourceFiles($srcPath) {
# Announce delete
OutputToHostAndLog ("Files will be removed from "+$srcPath+"...")
OutputToHostAndLog "Removing files..."
# Deletes all file items (i.e. all except folders) in source folder
$filesToDelete=Get-ChildItem $srcPath | Where-Object {$_ -is [IO.FileInfo]}
ForEach($item in $filesToDelete) {
Remove-Item $srcPath\$item -force
# Verify deletions
if(Test-Path($srcPath+"\"+$item)) {
OutputToHostAndLog ("Delete failed: "+$item.Name)
$fail++
}
else {
OutputToHostAndLog ($item.Name+" deleted successfully...")
}
}
}
Run Code Online (Sandbox Code Playgroud)
将-force参数与Remove-Item cmdlet一起使用似乎不会对此问题产生任何影响.无论如何,文件(同样,每次失败的不同文件)似乎都不是isReadOnly.
同样,以管理员身份运行PowerShell似乎没有任何效果,尽管源文件夹的Get-Acl表明Administrator应具有FullControl.
这是我缺少的权限问题吗?任何建议非常感谢...
编辑:我更新了我的脚本:
function DeleteSourceFiles($srcPath) {
# Announce delete
OutputToHostAndLog …Run Code Online (Sandbox Code Playgroud) 我需要帮助; 看起来很简单,但我无法理解.
我的代码:
public DataTable GetUserAssociatedModules(string UserEmail)
{
// retrieve module titles from Module table to be passed to ddlModules in Student.Master
try
{
SqlCommand getModules = new SqlCommand("GetUserAssociatedModules", con);
getModules.Parameters.AddWithValue("@userEmail", UserEmail);
SqlDataReader dr;
dr = getModules.ExecuteReader();
//DataTable dt = new DataTable();
dt.Columns.Add("moduleTitle");
dt.Load(dr);
return dt;
}
catch (Exception ex)
{
HttpContext.Current.Response.Write("Exception: " + ex.Message + ", CourseDAO.GetModules()");
return null;
}
finally
{
// close database connection
if (con != null)
{
con.Close();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我一直有例外:
过程或函数'GetUserAssociatedModules'需要参数'@userEmail',它不是提供的.
我把手表放在上面UserEmail …
我正在尝试创建一个多维数组,以包含[X,Y]宽度和高度的多维数组中的笛卡尔坐标(x,y)数组.
这是我到目前为止所处的地方; 我变得绝望地迷茫......
int[][][] grid = new int[width][][];
for (int x = 0; x < width; x++)
{
grid[x] = new int[height][];
for (int y = 0; y < height; y++)
{
grid[y] = new int[2][];
}
}
foreach (int[][] coordinate in grid)
{
//
}
Run Code Online (Sandbox Code Playgroud)
例如,我想要一个3 x 4网格由数组表示如下:
{1, 1}, {2, 1}, {3, 1}
{1, 2}, {2, 2}, {3, 2}
{1, 3}, {2, 3}, {3, 3}
{1, 4}, {2, 4}, {3, 4}
Run Code Online (Sandbox Code Playgroud)
等等...
我已经在网上搜索了一个C#的解决方案(我是OO的相对新手,不熟悉C,C++等)但到目前为止已经空白了.
我在采用阵列创建的方法中走在正确的轨道上吗?任何人都可以提供一些关于如何使用坐标填充数组的技巧,如果可能的话使用循环?