1

バッチ ファイルでシリアル番号とユーザー名を要求し、ユーザー プロファイルから 2 つの特定のフォルダーを削除する必要があります。*.*これを作成しましたが、実行しているフォルダーから削除したいようです。

@echo off

set /p serial="Enter Serial: "

set /p username="Enter Username: "

del *.* \\%serial%\C$\users\%username%\appdata\roaming\Microsoft\Windows\Recent\AutomaticDestinations
del *.* 
\\%serial%\C$\users\%username%\appdata\roaming\Microsoft\Windows\Recent\CustomDestinations
pause
4

4 に答える 4

0

コマンドの構文では、del削除するファイルが保存されているパスからファイル マスクを分離することはできないため、次を使用する必要があります。

del /q "\\%serial%\C$\users\%username%\appdata\roaming\Microsoft\Windows\Recent\AutomaticDestinations\*.*"
del /q "\\%serial%\C$\users\%username%\appdata\roaming\Microsoft\Windows\Recent\CustomDestinations\*.*"

追加された引用符は、スペースを含むパスの問題を防ぎ、/qスイッチは指定されたフォルダー内のすべてのファイルを削除するためのセキュリティ確認を回避します。

于 2015-09-01T14:22:52.853 に答える
0

まず、コードが機能するまで@echoを削除して、何が起こっているかを確認してから、echoを追加して、使用している変数に何が格納されているかを確認します。その後、DEL の代わりに DIR を試して、基準に一致するファイルをリストします。

REM    @echo off

set /p serial="Enter Serial: "
Echo %serial%
pause

set /p username="Enter Username: "
echo %username%
pause
dir \\%serial%\C$\users\%username%\appdata\roaming\Microsoft\Windows\Recent\AutomaticDestinations\*.*
dir \\%serial%\C$\users\%username%\appdata\roaming\Microsoft\Windows\Recent\CustomDestinations\*.*
pause
于 2015-09-01T20:48:59.143 に答える
0

すべてのユーザー入力を基本的にチェックして、次のアプローチを試してください。

@ECHO OFF
SETLOCAL EnableExtensions

:inputServer
set "serial="
set /p "serial=Enter Serial: "
if not defined serial goto :endlocal
pushd "\\%serial%\C$\"
if errorlevel 1 (
  echo wrong server name "\\%serial%"
  goto :inputServer
)

:inputUser
set "_username="
set /p "_username=Enter Username: "
if not defined _username goto :endstack
cd "\users\%_username%\appdata\roaming\Microsoft\Windows\Recent"
if errorlevel 1 (
  echo wrong user name "%_username%" or path
  echo "\\%serial%\C$\users\%_username%\appdata\roaming\Microsoft\Windows\Recent"
  goto :inputUser
)

dir AutomaticDestinations\*.*
dir CustomDestinations\*.*

:endstack
popd

:endlocal
pause

デバッグされる前dirに置き換えます。del /Q

PUSHD-POPDペアのリソース:

UNCパスが指定されるPUSHDと、一時的なドライブ マップが作成され、その新しいドライブが使用されます。一時的なドライブ文字はアルファベットの逆順に割り当てられるため、空いている場合Z:は最初に使用されます。

于 2015-09-01T22:45:25.070 に答える
0

c$ はリソースを隠している管理者です。ログインせずにアクセスすることはできません

リモート コンピューター上のネットワーク共有に接続する場合は、これを使用します: net use * \servername\sharename

于 2015-09-01T14:22:30.753 に答える