Windows
TOPICS
Julio 2019
La emergencia 🔔
Notificación 🔔, urge que te conectes al servidor remoto para ejecutar una script de SQL, te conectas y 💥
An error occurred while executing batch. Error message is: There is not enough space on the disk....
C:\Users\...\AppData\Local\Temp
para los resultados de un Query
Revisas archivos temporales, tu papelera, etc. luego ejecutas el asistente de limpieza de windows, nada ayuda, cuando mucho ganas unos pocos megas
WinDirStat
De pronto recuerdas esta maravillosa herramienta WinDirStat y la dejas analizar la unidad. Gracias a ella te das cuenta de dos carpetas que se estan comiendo tu espacio en el disco:
Limpia la papelera de todos los usuarios
1. Tus compañeros no son muy cuidadosos con su papelera de reciclaje
Vaciar la papelara de reciclaje de todos los usuarios
rd /s c:\$Recycle.Bin
Carpeta de instalación de Windows
2. Windows no es bueno limpiando su propio folder de instalaciones \Windows\Installer
En resumen, el problema es que cuando se desinstala una app, estas no eliminan de forma correcta sus paquetes de instalación/actualización
. Se supone que no deberíamos de tocar esta directorio, pero como en todo debemos de proceder con cuidado.
El fix en si es identificar los paquetes de instalación/actualización que pertenecen a aplicaciones que ya se desinstalaron del sistema.
Manualmente puedes ejecutar el siguiente VBA Script el cual genera un archivo que contiene los archivos que están instalados y que DEBEMOS de mantener en el sistema, lo demás puede ser borrado
VBA Script
'' Identify which patches are registered on the system, and to which
'' products those patches are installed.
''
'' Copyright (C) Microsoft Corporation. All rights reserved.
''
'' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
'' KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
'' IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
'' PARTICULAR PURPOSE.
'Option Explicit
Dim msi : Set msi = CreateObject("WindowsInstaller.Installer")
'Output CSV header
WScript.Echo "The data format is ProductCode, PatchCode, PatchLocation"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("output.txt", True)
objFile.WriteLine "ProductCode, PatchCode, PatchLocation"
objFile.WriteLine ""
' Enumerate all products
Dim products : Set products = msi.Products
Dim productCode
For Each productCode in products
' For each product, enumerate its applied patches
Dim patches : Set patches = msi.Patches(productCode)
Dim patchCode
For Each patchCode in patches
' Get the local patch location
Dim location : location = msi.PatchInfo(patchCode, "LocalPackage")
objFile.WriteLine productCode & ", " & patchCode & ", " & location
Next
Next
WScript.Echo "Data written to output.txt, these are the registered objects and SHOULD be kept!"
Agradecimientos a Raymond.cc en su post se detallan ademas de el script anterior algunas otras formas de limpiar este directorio.
Suerte espero que estos dos tips te ayuden a recuperar valioso espacio en tu sistema.
Abril 2019
Cmder es un console emulator que proporciona todo aquello que le hace falta a la terminal por default de windows. Desde que la conocí siempre la cargo para todas mis instalaciones y equipos. Y como siempre olvido como configurar el vscode para que use esta terminal por default, aquí los pasos para lograrlo
-
Generar el siguiente archivo en C:\Cmder\vscode.bat
@echo off SET CurrentWorkingDirectory=%CD% SET CMDER_ROOT=C:\cmder CALL "%CMDER_ROOT%\vendor\init.bat" CD /D %CurrentWorkingDirectory%
-
En las configuraciones de vscode
Ctrl + ,
(settings.json)"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe", "terminal.integrated.shellArgs.windows": ["/K", "C:\\cmder\\vscode.bat"], "terminal.integrated.fontFamily": "Fira Mono for Powerline",
Marzo 2019
Un antiguo comando DOS que permite rápidamente vincular un directorio a una unidad en Windows puede resultar muy útil para muchos escenarios, entre los más comunes están el emular entornos de producción en maquinas de desarrollo, actualmente lo he utilizado para mantener las políticas de publicación de visual studio entre las maquinas de los desarrolladores. Hay dos maneras de hacerlo:
subts
subts
REM to create
subst X: "C:\Users\ProgramadorSinSuerte\MiFolder"
REM to delete
subst X: /D
- Después de la unidad dejar un espacio en blanco
- Si el directorio lleva espacios se pueden utilizar comillas “\directorio con espacios"
- Notar que al final no se incluye el carácter diagonal “
\
”
✍️ Este comando espera que el directorio siempre este disponible de lo contrario se volverá loco buscándolo como si de una unidad física se tratara mermando el desempeño de la maquina. Por ello se recomienda usarlo con directorios presentes de manera local.
✍️ El mapeo se elimina con cada reinicio, si se necesita que este presente siempre, se puede colocar en el directorio de inicio de Windows C:\Program Data\Microsoft\Windows\Start Menu\Programs\Startup
🔗 (WindowsKey + R, type: shell:common startup
)
net use
net use D: \\localhost\c$\Users\ProgramadorSinSuerte\MiFolder
✍️ Este comando es mas tolerante a fallos en cuando a la disponibilidad del recurso. Generalmente se utiliza para recursos compartidos en red.