У меня есть несколько файлов в папке (C:\webfix), в папке 23 элемента, включая случайные файлы и папки.
У меня есть более 70 папок, в которые мне нужно отправить эти файлы. Каждая папка выглядит так: C:\saas\CU01313\wwwroot\
C:\saas\CU01316\wwwroot\
C:\saas\CU08453\wwwroot\
и т.д.
Пункт назначения тот же, за исключением части CU0*.
Я хотел бы иметь возможность массово перемещать 23 файла/папки в каждое из этих мест назначения, но я не смог понять, как это сделать.
После некоторых исследований я обнаружил, что мне лучше использовать команду цикла foreach?
Я пытался сделать это в Powershell.
Я пробовал пару вещей, для которых я могу показать код ниже. Первый «скрипт» использует команду Involk-Expression, которую я могу заставить работать, если буду выполнять ее одну за другой. Я не смог понять, как использовать «подстановочный знак» для этой части \CU0*\.
Первым делом:
Invoke-Expression -Command "robocopy C:\webfix\ 'C:\saas\TT08931\wwwroot\' /e /b /COPYALL /MT:8 /r:2 /log:C:\log\log.txt "
Если бы кто-нибудь мог помочь мне с этим, я был бы очень благодарен. Большое спасибо!
Я попробовал второй как .bat, и он тоже не сработал.
вы пробовали это в новом окне CMD.exe? кроме того, вы, кажется, хотите это в пакетном режиме, так почему бы вам не изменить теги, чтобы указать это, и удалить тег powershell, поскольку вы не используете powershell?
Я удалил материал CMD и оставил его строго связанным с Powershell и обновил ключевые слова.
спасибо за исправление! [ухмылка] я вижу, что вы уже ответили ... отлично!





Найдите способ поместить все CU0xxxx имена папок в текстовый файл. Затем сделайте что-то вроде этого.
$folderlist = get-content C:\temp\Folderlist.txt
foreach ($folder in $folderlist)
{
Copy-Item -Path "C:\Webfix\*" -Destination "C:\saas\$folder\wwwroot\" -Recurse
}
Вы можете получить имена всех папок следующим образом: (Get-ChildItem C:\saas -Directory).Name | out-file C:\temp\Folderlist.txt
Спасибо вам обоим! Я очень ценю это. Вчера вечером я купил курс Powershell Udemy, и мне нужно начать изучать его, поэтому мне не нужно задавать так много вопросов.
похоже, вы пытаетесь запустить внутренние команды CMD в сеансе powershell. вы не можете этого сделать, поскольку внутренние команды CMD.exe имеют значение внутри CMD.exe и не существуют ни в powershell.exe, ни в ISE powershell. [ухмылка]